initial commit for 0046
accepted in C++11