fixed for non-C++11 compilers