#4 : refactoring (not compiled)