Author: Liu, Guoliang.