Author: Zhang, Guansheng.