Chunked storage

addresses #1 and #2