add hash functions