added initial equals and hashCode methods