Refactoring Stage 1