major updates to model view controller