Author: Ding, Changyuan.