generalisations using G, N, and GN