Author: Cai Ziqiang.