整理了一下代码，完善一些基础类