refactoring #24