修复bug，实现所有功能