Updated for async invoke