convert to c++11