rewrite hge and achieve extension