修改功能sjm

基本跑通，至于有什么bug目前还没发现