Separated the View from Model, updated the Controller accordingly, and documented the View and Model