pre-refactoring