initial commit for 0014
accepted in C++11