Added search abstraction