add wait_for/wait_until to futures