added autogenerated hashCode and equals methods