begin switching to c++11