client/server handling added