customizable hash function #19