refactoring #2