add G_function