a bit refactor on searcher