http://zhuodingedu.com/newshm2py