added server and client