Add IO write and read cache
write cache: fill own cache until chunk full and then write (even if it is appended). Write when close or flush. read cache: always read whole chunk and then read from cache from future read requests.
Discuss random read and write. Prob hurts.
Subtask of #5 (closed)