#72: Added in ViewModel
#72: modified the constructor of the controller to take in a view model