Author: Zhang, Guangxin.