removed set_hash() and hash()