完成大部分功能