refactoring #8