implemented broadcast + client basics