refactored project