edited controllerFinal