now i remember why I went with the old linked list implementation.
with the std::list, everytime I refreshed a node... i did a copy.
basically to the tune of list.push_back(*iter) where as I wanted to keep it as a simple unlink and relink of the node
copy of the comment: https://news.ycombinator.com/item?id=12391069