add project model and tests