working server / client