anchor.diff:    end,
     lists:map(EvaluateLoad, MergedByNode).
   
  -calculate_load(Nodes, Workers) ->
  -  {NodesLoad, Avg} = calculate_node_load(Nodes),
  -  WorkersLoad = calculate_worker_load(Workers),
  -
  +calculate_load(NodesLoad, WorkersLoad) ->
     Merge = fun ({Node, Modules}) ->
       {Node, proplists:get_value(Node, NodesLoad, error), Modules}
     end,
  -  {lists:map(Merge, WorkersLoad), Avg}.
  -
  +  lists:map(Merge, WorkersLoad).
  +
  
positive.code:   NewState :: term().
  %% ====================================================================
  increase_state_num(State) ->
    {Load, AvgLoad} = calculate_load(State#cm_state.nodes, State#cm_state.workers),
    update_dns_state(State#cm_state.workers, Load, AvgLoad),
  
    NewStateNum = State#cm_state.state_num + 1,
  
negative.code:   V = gen_server:call({Module, Node}, {test_call, 1, get_version}),
    get_workers_versions(Workers, [{Node, Module, V} | Versions]).
  
  calculate_node_load(Nodes, Period) ->
    GetNodeInfo = fun(Node) ->
      Info = try
        gen_server:call({?Node_Manager_Name, Node}, {get_node_stats, Period})
      catch
        _:_ ->
          lager:error([{mod, ?MODULE}], "Can not get status of node: ~s", [Node]),
  