Added interface and 1 implementation for search