modified hash_table