Now declaratively using the C++11 standard