update invoke()