add promise(value) function