added controller, view and model