anchor.diff:  -spec on(comm:message(), atom()) -> atom().
   on({acceptor_initialize, PaxosID, Learners}, ETSTableName = State) ->
       ?TRACE("acceptor:initialize for paxos id: Pid ~p Learners ~p~n", [PaxosID, Learners]),
  -    {_, StateForID} = get_entry(PaxosID, ETSTableName),
  +    StateForID = case pdb:get(PaxosID, ETSTableName) of
  +                     undefined -> state_new(PaxosID);
  +                     X -> X
  +                 end,
       case state_get_learners(StateForID) of
           Learners -> log:log(error, "dupl. acceptor init for id ~p", [PaxosID]);
           _ ->
               NewState = state_set_learners(StateForID, Learners),
  -            set_entry(NewState, ETSTableName),
  +            pdb:set(NewState, ETSTableName),
               case state_accepted(NewState) of
                   true  -> inform_learners(PaxosID, NewState);
                   false -> ok
  
positive.code: % need Sender & PaxosID
  on({proposer_prepare, Proposer, PaxosID, InRound}, ETSTableName = State) ->
      ?TRACE("acceptor:prepare for paxos id: ~p round ~p~n", [PaxosID,InRound]),
      {ErrCode, StateForID} = get_entry(PaxosID, ETSTableName),
      case ErrCode of
          new -> msg_delay:send_local(
                   config:read(acceptor_noinit_timeout) div 1000, self(),
                   {acceptor_delete_if_no_learner, PaxosID});
          _ -> ok
      end,
      case state_add_prepare_msg(StateForID, InRound) of
          {ok, NewState} ->
              set_entry(NewState, ETSTableName),
              msg_ack(Proposer, PaxosID, InRound,
                      state_get_value(NewState),
                      state_get_raccepted(NewState));
  
negative.code: 
  on({?proposer_accept, Proposer, PaxosID, InRound, InProposal}, ETSTableName = State) ->
      ?TRACE("acceptor:accept for paxos id: ~p round ~p~n", [PaxosID, InRound]),
      case pdb:get(PaxosID, ETSTableName) of
          undefined -> StateForID = state_new(PaxosID),
                       msg_delay:send_local(
                         (config:read(tx_timeout) * 4) div 1000, self(),
                         {acceptor_delete_if_no_learner, PaxosID});
          StateForID -> ok
      end,
      case state_add_accept_msg(StateForID, InRound, InProposal) of
          {ok, NewState} ->
              pdb:set(NewState, ETSTableName),
              inform_learners(PaxosID, NewState);
          {dropped, NewerRound} -> msg_naccepted(Proposer, PaxosID, NewerRound)
      end,
  