changing hash implementation