anchor.diff:  init([Node, Nodes]) ->
     process_flag(trap_exit, true), % this is for the gossip server which tags along
     Config = configuration:get_config(),
  -  State = try_join_into_cluster(Node, create_or_load_state(Node, Nodes, Config, ets:new(partitions, [set, public]))),
  +  State = case create_or_load_state(Node, Nodes, Config, ets:new(partitions, [set, public])) of
  +    {loaded, S} -> S;
  +    {new, S} -> try_join_into_cluster(Node, S)
  +  end,
     ?infoMsg("Saving membership data.~n"),
     save_state(State),
     ?infoMsg("Loading storage servers.~n"),
  
positive.code:   case load_state(Node, Config) of
      {ok, Value = #membership{header=?VERSION,nodes=LoadedNodes}} ->
        error_logger:info_msg("loaded membership from disk~n", []),
        Value#membership{node=Node,nodes=lists:usort(Nodes ++ LoadedNodes),ptable=Table};
      {ok, {membership, C, P, Version, LoadedNodes, _}} ->
        ?infoMsg("trying to load a legacy format membership file~n"),
        #membership{node=Node,nodes=lists:usort(Nodes ++ LoadedNodes),partitions=P,version=Version,ptable=Table};
      _V ->
        create_initial_state(Node, Nodes, Config, Table)
    end.
  
  load_state(Node, #config{directory=Directory}) ->
  
negative.code: 	
  nodes_for_partition(Partition) ->
    gen_server:call(membership, {nodes_for_partition, Partition}).
  	
  remove_node(Node) ->
    gen_server:call(membership, {remove_node, Node}).
  	
  nodes_for_key(Key) ->
    gen_server:call(membership, {nodes_for_key, Key}).
  