finished controller and view