Week 6 - 5 refactoring