fetch inbound data on demand to speedup and fix inbound bisection

This is an attempt to download inbound data in a lazy way.
While we're here, could you add some retry logic in this method in case it fails?