refactor search backend
redesign search