整理了源码，删除了多余部分