implemented search. TODO: validate search string and data that comes back