blocks are stored as a hash table