Author: Hao, Weimin.