hlist to support hash table