RTFDed，并且修改了一些欠妥的代码风格。（未测试）