完善了一些功能，仍有bug