migrated to h5py so that we stop pulling everything into memory.