Author: Fan, Guoguang.