Author: Tang, Shaohua.