Author: Zhang, Shouxin.