Author: Yan, Jinliang.