Implementing the View Models