fix hash_code bug