updates to API to support futures
.
interface