lazily load block index