完成大部分功能，仍存在bug