update by sennychu, at: -G