anchor.diff:          false ->
               RootLeader = {root, node()},
               Members = [RootLeader],
  -            Root = #ensemble_info{leader=RootLeader, views=[Members], seq={0,0}, vsn={0,0}},
  -            ets:insert(?ETS, {root, RootLeader,
  -                              {Root#ensemble_info.vsn, Root#ensemble_info.views},
  -                              undefined}),
  +            Root = #ensemble_info{leader=RootLeader, views=[Members],
  +                                  seq={0,0}, vsn={0,0}},
  +            RootInfo = {root, RootLeader, {Root#ensemble_info.vsn,
  +                                           Root#ensemble_info.views},
  +                        undefined},
               {ok, CS1} = riak_ensemble_state:enable(CS),
               {ok, CS2} = riak_ensemble_state:add_member({0,0}, node(), CS1),
               {ok, CS3} = riak_ensemble_state:set_ensemble(root, Root, CS2),
               State2 = State#state{cluster_state=CS3},
  -            {ok, State2}
  +            {ok, State2, RootInfo}
       end.
   
   -spec join_allowed(cluster_state(), cluster_state()) -> true               |
  
positive.code: 
  handle_call(enable, _From, State) ->
      case activate(State) of
          {ok, State2} ->
              Reply = case maybe_save_state(State2) of
                          ok ->
                              ok = riak_ensemble_storage:sync();
                          Error={error,_} ->
                              Error
                      end,
              State3 = state_changed(State2),
              {reply, Reply, State3};
          error ->
              {reply, error, State}
      end;
  
negative.code:                  cluster_state=CS},
      State.
  
  -spec activate(state()) -> {ok, state(), tuple()} | error.
  activate(State=#state{cluster_state=CS}) ->
      case riak_ensemble_state:enabled(CS) of
          true ->
  