Author: Chen, Qingguang.