Fully implement async search