add cache of rows to improve random access/rewind perfs