first version: client can communicate with server