support for C++11