Author: Liang, Shangquan.