some cleanup and refactor to use Futures instead of actors where it makes code clearer