added view, controller, model