Updated to c++ 11