read buffering, wip.