add protocol to translate between client and server
add message queue