Author: Guo, Naichen.