c++11 refactorings