arranging client code
arranging server code
error handling and messages