+// map<string,int>::iterator it;
+
+ for(int i=copyTree->getNumLeaves();i<copyTree->getNumNodes();i++){
+ int lc = copyTree->tree[i].getLChild();
+ int rc = copyTree->tree[i].getRChild();
+
+ int iSize = copyTree->tree[i].pGroups.size();
+ int rcSize = copyTree->tree[rc].pGroups.size();
+ int lcSize = copyTree->tree[lc].pGroups.size();
+
+// cout << i+1 << '\t' << lc+1 << '\t' << rc+1 << ":\t";
+
+// for(it=copyTree->tree[i].pGroups.begin();it!=copyTree->tree[i].pGroups.end();it++){
+// cout << it->first << '\t';
+// }
+
+// cout << " : " << iSize << '\t' << rcSize << '\t' << lcSize << '\t';
+
+ //if isize are 0 then that branch is to be ignored
+ if (iSize == 0) { }
+ else if ((rcSize == 0) || (lcSize == 0)) { }
+ //if you have more groups than either of your kids then theres been a change.
+ else if(iSize > rcSize || iSize > lcSize){
+ score++;
+ }
+// cout << score << endl;
+ }