future abstraction