rudimentary client-server functionality