use a bit of C++11