增加了远程观察者功能，并完善了部分代码