equals() and hashCode() reimplemented and parsing unit bug fixed