cool refactoring