refactoring additional