update internal controller