implement quick union