refactoring 6