update hash combine function