more of the same refactoring