Author: Yang, Chenggui.