Updated Challenge 5 - Refactoring