Author: Ning, Zhiyuan.