seems fine, generally personally I like to autogenerate equals and hashcode to make sure they're not conflicting