add CategorySearchProvider, refactor searchbox to use criteria, broke some things, fixing them