implemented obserable layer to client and server