make it compile with c++11