updated refractored gc1