Author: Lian, Zhihong.