errors are thrown when we get futures, not on waiting