update hash func