public void removeLink(int s, int d){
        Node S = null;
        Node P = null;
        for(Node N : network)
        {
            if(N.id == s)
            {
                S = N;
            }
            if(N.id == d)
            {
                P = N;
            }
        }
        if(S != null && P != null)
        {
            System.out.println("Removing link from network and vis");
            S.removeLink(S.linkIndexForNode(P.id));
            P.removeLink(P.linkIndexForNode(S.id));
            D.getGraphPanel().removeLink(s, d);
            D.getGraphPanel().repaint();
            // trigger recount in gossipico
            GossipicoFAB gf;
            gf = (GossipicoFAB)S.getFAB(0);
            gf.count.resetCount();
            gf.beacon.reviveFraction();
            gf.recountTriggered();
            gf = (GossipicoFAB)P.getFAB(0);
            gf.count.resetCount();
            gf.beacon.reviveFraction();
            gf.recountTriggered();
        }
        else
        {
            System.err.println("Cannot find link between " + s + " and " + d);
        }
    }