Changed gc definition;also some more macro.