拓展源码，为新功能做铺垫