实现了全部功能