Author: Huiguang.