project write file implementation