Author: Lin, Yaochuan.