Refactoring - stage 2