增加了一些实现