Author: Liu, Shaoquan.