adapt project to OPP