initial commit for 0020
accepted in C++11