new stuff for hash_function