Author: Ruan, Rongzhu.