Refactor Searching