Author: Jiang, Dequan.