extract invoke method