refactored project repository