make compatibily with C++11