upgrade to c++11