Added missing equals and hashCode methods