tutorial 37 : refactoring