added get_hash_function for adaptability