Made it compatible with c++03