add value prop to promise
add tests