Adding some hashCode, equals and toString methods