Added view-model, controller, and view