Updating Future API

add #do_then for chaining
add #fail for failure indication