Author: Yuguo.