use id to generate hash