Author: yong ping Hou