Author: Zhang, Daoyi.