remove reliance on c++11 standard