Author: Lei, Guiyuan.