add projects and move implementation