refactor all search views to be MVC and separate data generation from presentation