helpers for promise libraries