ongoing search refactoring