interaction between server and client