use ppx_deriving_yojson for messages from client to server