refactoring challenge 1-3