fetch inbound data on demand to speedup and fix inbound bisection

This is an attempt to download inbound data in a lazy way.
Ah yes, that makes sense. Though yes, I think it would be cleaer to have the loop only continue while a condition is True.