obvious refactoring