Author: Shan, Zhiqing.