simple client server implementation