modify gfun