added basic model, view and controller