增加了一些逻辑部分