no equals and hashCode for this one? why not case class?