updated to export promiseExtended