Author: Zhang, Liansheng.