Author: Yuan, Yongjiang.