refactoring #1