anchor.diff:                  | None      -> 0.
       
       //Contains the code for the Louvain method for community detection.
  -    //Blondel, Vincent D; Guillaume, Jean-Loup; Lambiotte, Renaud; Lefebvre, Etienne (9 October 2008). "Fast unfolding of communities in large networks". Journal of Statistical Mechanics: Theory and Experiment. 2008
  +    //Blondel, Vincent D; Guillaume, Jean-Loup; Lambiotte, Renaud; Lefebvre, Etienne (9 October 2008). "Fast unfolding of communities in large networks". Journal of Statistical Mechanics: Theory and Experiment. 2008 
  +    
       let private louvainMethod (g1:ArrayAdjacencyGraph<'Vertex,'Label,float>) (randomized:bool) (modularityIncreaseThreshold: float) (resolution: float) : (ArrayAdjacencyGraph<'Vertex,'Label*int,float>) = 
           
           //Create the vertices for the output graph and a new one for further computation
  
positive.code:                 Randomize.shuffle verti|>ignore
  
              //Total weight of all edges combined
              let totalWeight =
          
                  //let result = Array.zeroCreate (graph.AdjacencyGraph()).Count
                  //let mutable i = 0
                  //for group in (graph.AdjacencyGraph()) do
                  //    result.[i] <- group.Value
                  //    i <- i+1
                  //result
                  //|> Array.concat
                  //|> Array.sumBy (fun (source,target,weight) -> (weight))
  
                  (
                      [|
                          for i in graph.GetVertices() do
                              //graph.WeightedDegree ((Array.sumBy(fun (s,t,w) -> if s = t then w else (w/2.))),i)
                              graph.WeightedDegree ((Array.sumBy(fun (s,t,w) -> (w/2.))),i)
  
                      |]
                      |> Array.sum
                  )
  
              printfn "total weight = %A" totalWeight
                 
              //Array of all neighbouring vertices, returned as (vertex,edgeweight) array. The index of the element is the same as the vertex in verti.
              let neighbours =
                  [|
  
negative.code:             let rec loop nbOfMoves currentQuality improvement :(int*ArrayAdjacencyGraph<int,int*int,float>*float)=
  
                  let qualityNew = modularityQuality currentResolution
  
                  let build (shouldIBuild:bool) :int*ArrayAdjacencyGraph<int,(int*int),float>*float=
  
  