added basic client/server code