Adding Search Capabilities

Adding external search; Refactoring to support multiple services;