fetch inbound data on demand to speedup and fix inbound bisection

This is an attempt to download inbound data in a lazy way.
I think  you can probably just remove this else clause, I don't think it makes things much more clear than they already are.