modified to make the controllers only responsible for their corresponding model and view.