Author: Zhang, Guoguang.