updating G function