update controller implementation