added views, controller logic