use new native invocation api