bust the search out into its own class