minor api changes, async now returs solid future objects instead of pointers