Adding in the hashCode and equals handling