做了一些修改，尽可能的控制访问