Phase 2nd of 3rd refactoring