Author: Zhi, Ruzhen.