Author: Yang, Qinghua.