initial version of client and server