I'm doing an insertion sort for my introductory C++ class, and it seems to be working, but I keep getting repeats in my sorted list. 

In main

```
Storage s;
for (int i = 0; i < 20000; ++i)
{
    cout << "adding " << iss[i] << " to sorted list" << endl;
    s.Add(iss[i]);
}

```

and in Storage.cpp

```
    void Storage::Add(int num)
{
    it = mylist.begin();
    if (mylist.empty())
    {
        Node tem(num);
        mylist.push_front(tem);
    }
    else 
    {
        while (it != mylist.end())
        {
            if (num < (*it).GetNumber())
            {
                Node temp(num);
                mylist.insert(it, temp);
            }
            it++;
            if (it == mylist.end())
            {
                Node te(num);
                mylist.push_back(te);
            }
        }
    }
    it = mylist.begin();
    while (it != mylist.end())
    {
        cout << (*it).GetNumber() << ',';
        it++;
    }
    cout << endl << mylist.size() <<endl;
}

```

`Node` just stores the number that is being added to the list as well as the time, which is calculated inside `Node`.

I can't figure out why I'm getting repeats, thanks in advance for the help.