anchor.diff:  	       ordsets:from_list(
   		 lists:append(
   		   [[V1, V2]||{V1, V2, _Label, _Weak, _Score} <- Edges]))),
  -    refac_io:format("\nEdges:\n~p\n", [Edges]),
       NodesToColor = ordsets:to_list(
   		      ordsets:from_list(
  -			[V1||{V1, _V2, _Label, Weak, {_, Score}} <- Edges, Weak, Score>0.2])),
  -    refac_io:format("NodesToColor:\n~p\n", [NodesToColor]),
  -    Start = ["digraph ",GraphName ," {"],
  +			[V1||{V1, _V2, _Label, _Weak, Score} <- Edges, Score==1])),
  +    Start = ["digraph ",GraphName ," {", "node [shape=ellipse fontsize=16 fontname=\"Courier\"];"],
       VertexList = [node_format(V, NodesToColor) ||V <- NodeList],
       End = ["graph [", GraphName, "=", GraphName, "]}"],
  -    EdgeList = [edge_format(X, Y, Label,WithLabel, Weak) || {X,Y, Label, Weak, _Score} <- Edges],
  +    EdgeList = [edge_format(X, Y, Label,WithLabel, Weak) || {X, Y, Label, Weak, _Score} <- Edges],
       String = [Start, VertexList, EdgeList, End],
  -    ok = file:write_file(OutFileName, list_to_binary(String)).
  -
  -
  -is_scc_node(V, Sccs) ->
  -    lists:member(V, Sccs).
  -
  -is_scc_edge({V1, V2}, Sccs) ->
  -    lists:member(V1, Sccs) andalso
  -	lists:member(V2, Sccs).
  -	
  -
  -node_format(V, NodesToColor) ->
  +    file:write_file(OutFileName, list_to_binary(String)).
  +
  +
  +node_format({V, VLabel}, NodesToColor) ->
       String = io_lib:format("~p", [V]),
       {Width, Heigth} = calc_dim(String),
       W = (Width div 7 + 1) * 0.55,
       H = Heigth * 0.4,
       SL = io_lib:format("~f", [W]),
       SH = io_lib:format("~f", [H]),
  -    case lists:member(V, NodesToColor) of 
  +    case lists:member({V,VLabel}, NodesToColor) of 
   	true ->
  -	    [String, " [width=", SL, " heigth=", SH, " color=red, style=filled", " ", "", "];\n"];
  +	    [String, " [width=", SL, " label=", "\"", 
  +	     io_lib:format("~p",[VLabel]), 
  +	     "\"", " heigth=", SH, " color=red, style=filled", " ", "", "];\n"];
   	false ->
  -	    [String, " [width=", SL, " heigth=", SH, " ", "", "];\n"]
  +	    [String, " [width=", SL, " label=", "\"", 
  +	     io_lib:format("~p", [VLabel]), 
  +	     "\"", " heigth=", SH, " ", "", "];\n"]
       end.
   
   calc_dim(String) ->
  
positive.code: 
  is_sub_list(L1, L2) ->
      ordsets:is_subset(ordsets:from_list(L1), ordsets:from_list(L2)).
  
  remove_sub_lists(ListOfLists) ->
      ListOfLists1 = lists:sort(fun(L1, L2)-> length(L1)>= length(L2) end, ListOfLists),
      remove_sub_lists(ListOfLists1,[]).
  
  remove_sub_lists([], Acc) ->
      lists:reverse(Acc);
  remove_sub_lists([L|T], Acc) ->
      case lists:any(fun(A)->
  			   is_sub_list(L, A) 
  		   end, Acc) of 
  	true ->
  	    remove_sub_lists(T, Acc);
  	false ->
  	    remove_sub_lists(T, [L|Acc])
      end.
  		  
  
  
  is_prop_sub_list(L1, L2) ->
      S1 = ordsets:from_list(L1),
      S2 = ordsets:from_list(L2),
      (ordsets:size(S1) < ordsets:size(S2))
  	andalso ordsets:is_subset(S1, S2).
  
  add_edges([], MG) ->
      MG;
  
negative.code: cyclic_dependent_modules(OutFile, SearchPaths, WithLabel) ->
      ?wrangler_io("\nCMD: ~p:cyclic_dependent_modules(~p, ~p, ~p).\n",
  		 [?MODULE, OutFile, SearchPaths, WithLabel]),
      Files = refac_util:expand_files(SearchPaths, ".erl"),
      ModCallerCallees = refac_module_graph:module_graph_with_funs(SearchPaths),
      MG = digraph:new(),
      refac_module_graph:add_edges(ModCallerCallees,[],MG),
      SCCs = digraph_utils:cyclic_strong_components(MG),
      Cycles = [digraph:get_short_cycle(MG, V) || SCC<-SCCs, V <-SCC],
      Cycles1 = remove_duplicated_cycles(Cycles),
      CycleWeakestLinkPairs= [{C, break_a_cycle(C, ModCallerCallees, MG, Files)}|| C<-Cycles1],
      cycles_to_dot(MG, OutFile,CycleWeakestLinkPairs),
      digraph:delete(MG).
  
  
  remove_duplicated_cycles(Cs) ->
      remove_duplicated_cycles(Cs, []).
  
  remove_duplicated_cycles([], Acc) ->
      Acc;
  remove_duplicated_cycles([C|Cs], Acc) ->
      case lists:any(fun(C1) ->
  			   lists:usort(C)==lists:usort(C1) 
  		   end, Acc) of 
  	true ->
  	    remove_duplicated_cycles(Cs, Acc);
  	false ->
  	    remove_duplicated_cycles(Cs, [C|Acc])
      end.
  	
  
  cycles_to_dot(MG, OutFile, CycleWeakestLinkPairs)->
      CycleEdges=[get_cycle_edges(MG, C, WeakestLink)||
  		   {C, WeakestLink}<-CycleWeakestLinkPairs],
      NewEdgeList=get_renamed_edge_list(CycleEdges),
      edge_list_to_dot(lists:append(NewEdgeList), OutFile, "ModuleGraph", true).
     
      
  get_cycle_edges(MG, C, WeakestLink) ->
      get_cycle_edges(MG, C, WeakestLink, []).
  
  get_cycle_edges(MG, T, {WeakestLink, NodeToColor}, Edges)  when length(T)=<1->
      Edges1 =lists:reverse(Edges),
      [{X, Y, Label, {X,Y}==WeakestLink, case X==NodeToColor of
  					   true -> 1;
  					   false -> 0
  				       end}|| E<-digraph:edges(MG),
  				       {_, X, Y, Label} <- [digraph:edge(MG, E)],
  				       lists:member({X, Y}, Edges1)];
  get_cycle_edges(MG,[V1, V2|T], WeakestLink,  Edges) ->
  