use promise terminology