updated controler