new pph with c++11 and c++03