hash construction preferences