saner read reading and chan merging