cleaned up ReadBatch