working client-server pair with logging