1、增加新的mode
2、调整一些代码