Refactoring Stage 2