tried to add a groupeach method, but this proofs to hard for to little gain (delegates have their limits)
undid the groupeach changes