added updated server client code