updated abstract controller to have view, and created view directory to have abstract view and interface