added server and client classes