#4 : Refactoring