read and write through different buffers