anchor.diff:    gen_server:cast(Server, stop).
   
   fire_gossip(Node) when is_atom(Node) ->
  -  ?infoFmt("firing gossip at ~p~n", [Node]),
  +  % ?infoFmt("firing gossip at ~p~n", [Node]),
   	gen_server:cast(membership, {gossip_with, {membership, Node}}).
  +	
  +status() ->
  +  gen_server:call(membership, status).
  +  
  +stop_gossip() ->
  +  gossip ! stop.
   
   %%====================================================================
   %% gen_server callbacks
  
positive.code: 	  nodes=Nodes}.
  
  merge_states(StateA, StateB) ->
    PartA = StateA#membership.partitions,
    PartB = StateB#membership.partitions,
    Config = configuration:get_config(),
    Nodes = lists:usort(StateA#membership.nodes ++ StateB#membership.nodes),
    Partitions = partitions:map_partitions(PartA, Nodes),
    % error_logger:info_msg("Merged nodes ~p and partitions ~p~n", [Nodes, length(Partitions)]),
    ?infoFmt("merge states setting node to ~p", [StateA#membership.node]),
    #membership{
      version=vector_clock:merge(StateA#membership.version, StateB#membership.version),
      nodes=Nodes,
      node=StateA#membership.node,
      partitions=Partitions,
      gossip=StateA#membership.gossip
    }.
  
  % Merges in another state, reloads any storage
  % and sync servers that changed, saves state
  
negative.code: %% @end 
  %%--------------------------------------------------------------------
  handle_info(_Info, State) ->
    {noreply, State}.
  
  %%--------------------------------------------------------------------
  