heasCode and equals