compiles with c++11