initial commit for 0029
accepted in C++11