refactor search and champ filter works