Author: Liang, Renju.