Full project refactoring