completed set_union -GG