switch to c++11