Author: Yan, Shaotang.