update by lgq at 3.21