create project function redone