use waitOnFuture more often