added invoke completion