Cycle 3 Intial refactoring