add CG logic