anchor.diff:  
          true -> {fail, abort}
       end.
  +
  +init_new_db_key(Value) ->
  +    UID = util:get_global_uid(),
  +    NewKey = lists:flatten(io_lib:format("~p", [UID])),
  +    Keys = ?RT:get_replica_keys(?RT:hash_key(NewKey)),
  +    [ begin
  +          E1 = db_entry:new(Key),
  +          %% inc twice, so decversion is ok
  +          E2 = db_entry:inc_version(E1),
  +          E3 = db_entry:inc_version(E2),
  +          %% set a value
  +          E4 = db_entry:set_value(E3, Value),
  +          lookup:unreliable_lookup(db_entry:get_key(E4),
  +                                   {set_key_entry, comm:this(), E4}),
  +          receive {set_key_entry_reply, E4} -> ok end
  +      end || Key <- Keys ],
  +    NewKey.
   
   get_db_entries(Keys) ->
       [ begin
  
positive.code:                            io_lib:format("~p with ~p and~nDB entries initial: ~p~nafter preops ~p~n and after operation ~p~n",
                                           [Op, PreOps, DBEntries, NewDBEntries, get_db_entries(Keys)]))
      end,
  
      %% restore original entries
      [ begin
            lookup:unreliable_lookup(db_entry:get_key(X),
                                     {set_key_entry, comm:this(), X}),
            receive {set_key_entry_reply, X} -> ok end
        end
        || X <- DBEntries ],
     ok.
  
  calc_w_outcome(PreOps) ->
  
negative.code:      %% modify DB after work_phase, before validation
       %% write - modify - commit (rmc)
       [begin
            Key = init_new_db_key("abort_prepared_wmc"),
            {TLog, _} =
                ?CS_API:process_request_list(?CS_API:new_tlog(),
                                             [{write, Key, "wmc"}]),
            Pattern = [MC1, MC2, MC3, MC4],
            abort_prepared(Key, {commit_tlog, TLog}, Pattern,
                           calc_wmc_outcome(Pattern))
        end
        || MC1 <- causes(), MC2 <- causes(),
           MC3 <- causes(), MC4 <- causes()],
      ok.
  
  abort_prepared(Key, Op, PreOps, ExpectedOutcome) ->
      Keys = ?RT:get_replica_keys(?RT:hash_key(Key)),
      DBEntries = get_db_entries(Keys),
      NewDBEntries = [ begin
            NewDBEntry =
  