Use futures.

Help with error handling.