Big change: use numpy.memmap for storage