add 1147
add 1149, a nice example to use c++ template,map