added equals/hashcode to implementing classes