initial commit for 0008
accepted in c++11