compiles in c++11