An object oriented implementation of fundamental data structures (and algorithms) using C++11