refactoring #10