modify hash table definition, user a pointer instead of struct