merge of gccg.c