fix task #23

基本完成，可以进行其他任务开发