Author: Zhang, Shaohua.