Author: Lan, Mingliang.