added controller, model and view