client-server: first attempt