anchor.diff:  
       PrepareTime = dc_utilities:now_microsec(),
       {Result, NewPrepare, NewPreparedDict} = prepare(Transaction, WriteSet, CommittedTx, PreparedTx, PrepareTime, PreparedDict),
  +    NewState = State#state{prepared_dict = NewPreparedDict},
       case Result of
  +        {error, timeout} ->
  +            {reply, {error, timeout}, NewState};
  +
  +        {error, no_updates} ->
  +            {reply, {error, no_tx_record}, NewState};
  +
  +        {error, write_conflict} ->
  +            {reply, abort, NewState};
  +
           {ok, _} ->
  -            {reply, {prepared, NewPrepare}, State#state{prepared_dict = NewPreparedDict}};
  -        {error, timeout} ->
  -            {reply, {error, timeout}, State#state{prepared_dict = NewPreparedDict}};
  -        {error, no_updates} ->
  -            {reply, {error, no_tx_record}, State#state{prepared_dict = NewPreparedDict}};
  -        {error, write_conflict} ->
  -            {reply, abort, State#state{prepared_dict = NewPreparedDict}}
  +            {reply, {prepared, NewPrepare}, NewState}
       end;
   
   %% @doc This is the only partition being updated by a transaction,
  
positive.code:     {reply, Result, SD0};
  
  handle_command({prepare, Transaction, WriteSet}, _Sender, State = #state{
      partition = _Partition,
      prepared_tx = PreparedTx,
      committed_tx = CommittedTx,
      prepared_dict = PreparedDict
  
negative.code: %%          remove M's prepare record, so we should not do anything
  %%          either.
  clean_and_notify(TxId, Updates, #state{
      prepared_tx = PreparedTx,
      prepared_dict = PreparedDict
  }) ->
      ok = clean_prepared(PreparedTx, Updates, TxId),
      case get_time(PreparedDict, TxId) of
          error ->
  