design the communication and message-handling framework of the
"client/server" parts