Author: Guan, Liansheng.