added hash_fn.c which I forgot before, I always forget to add files to git