Fully implement search