use new wrapAsync API