implementing client/server messages