add G2
implement mutation