#4 : Refactoring compleeted