initial commit for 10028
accepted in C++11