add full hash table function