refactored to use MainView and DishView