anchor.diff:      #qcst{started=[],
             counters=orddict:new()}.
   
  +%% Mark the vnode as started
   next_state_data(_From,_To,S=#qcst{started=Started,
                                     counters=Counters},_R,
                   {call,?MODULE,start_vnode,[Index]}) ->
       S#qcst{started=[Index|Started],
              counters=orddict:store(Index, 0, Counters)};
  +%% Update the counters for the index if a command that changes them
  +next_state_data(_From,_To,S=#qcst{counters=Counters},_R,
  +                {call,mock_vnode,neverreply,[Preflist]}) ->
  +    S#qcst{counters=lists:foldl(fun({I, _N}, C) ->
  +                                        orddict:update_counter(I, 1, C)
  +                                end, Counters, Preflist)};
   next_state_data(_From,_To,S,_R,_C) ->
       S.
  -%           counters=orddict:update_counter(Index, 1, Counters)};
  +% 
   
   stopped(_S) ->
       [{running, {call,?MODULE,start_vnode,[index()]}}].
  
positive.code: active_index(#qcst{started=Started}) ->
      elements(Started).
  
  active_preflist1(S) ->
      {active_index(S), node()}.
  
  initial_state() ->
      stopped.
  
negative.code:     exit(Pid, kill),
      ok = wait_for_pid(Pid).
  
  preflist_is_active({Index,_Node}, Started) ->
      lists:member(Index, Started);
  preflist_is_active(Preflist, Started) ->
      lists:all(fun({Index,_Node}) -> lists:member(Index, Started) end, Preflist).
  
  
  wait_for_pid(Pid) ->
      Mref = erlang:monitor(process, Pid),
      receive
  