project types
refactoring