implement GGateway service