refactoring 04