update by gxx