initial commit for 0024
accepted in C++11