anchor.diff:  read_objects(Objects, TxId) ->
       %%TODO: Transaction co-ordinator handles multiple reads
       %% Executes each read as in a interactive transaction
  -    Results = lists:map(fun({Key, Type, _Bucket}) ->
  -                                case clocksi_iread(TxId, Key, Type) of
  +    Results = lists:map(fun({Key, Type, Bucket}) ->
  +                                case clocksi_iread(TxId, {Key, Bucket}, Type) of
                                       {ok, Res} ->
                                           Res;
                                       {error, _Reason} ->
  
positive.code: update_objects(Clock, _Properties, Updates, StayAlive) ->
      Actor = actor, %% TODO: generate unique actors
      Operations = lists:map(
                     fun({{Key, Type, _Bucket}, Op, OpParam}) ->
                             {update, {Key, Type, {{Op,OpParam}, Actor}}}
                     end,
                     Updates),
      SingleKey = case Operations of
  
negative.code:     Actor = TxId,
      %% Execute each update as in an interactive transaction
      Results = lists:map(
                  fun({{Key, Type, Bucket}, Op, OpParam}) ->
                          case clocksi_iupdate(TxId, {Key, Bucket}, Type,
                                               {{Op, OpParam}, Actor}) of
                              ok -> ok;
                              {error, _Reason} ->
  