真是牵一发而动全身，半成品
重构完成
Merge pull request #1 from spacewander/feature

merge