The grouping algorithm is inserted into the ABC algorithm such that after each structure is produced it is added to a group or creates a new group. Then when the onlooker or employed operators are called, the random structure pool they draw from contains only the lowest energy representative of each of the groups. This therefore enforces that equations 3 and 4 only receive structure that are unique and mitigates the poison pool issue. Enforcing the unique structure condition has improved pyGlobOpt significantly, we assess the exact amount in section 3.2.