Refactor Phase 3