added hash functions