In some cases, the pattern of the data required by the view doesn't really match the model directly. In that case, the controller processes the data and passes it to the view in some other form. This is generally termed a "view model"
So the view model is part of the controller?