avoid c++11