a split-row IO implementation. Breaks tests because the io lock is never released.