model control and view