g2 rewrite