added model, controller and view