added futures and simple api