refactoring update 5