with server and client