anchor.diff:  handle_command({read, Key, Type, Snapshot_time}, _Sender,
                  State = #state{cache= Cache}) ->
       Operations = ets:lookup(Cache, Key),
  -    %% Operations are in the order which it is inserted
  -    lager:info(" Operations ~p", Operations),
  +    lager:info("operations: ~p", [Operations]),
       ListofOps = filter_ops(Operations),
       {ok, Snapshot} = clocksi_materializer:get_snapshot(
                          Type, Snapshot_time, ListofOps),
  -    lager:info("Snapshot ~p", Snapshot),
  +    lager:info("snapshot: ~p", [Snapshot]),
       %% TODO: Store Snapshots in Cache
       {reply, {ok, Snapshot}, State};
   
   handle_command({update, Key, DownstreamOp}, _Sender,
                  State = #state{cache = Cache})->
  -    %%LogId = log_utilities:get_logid_from_key(Key),
  -    %%TODO: Remove unnecessary information from op_payload in log_Record
  -    LogRecord = #log_record{tx_id = DownstreamOp#clocksi_payload.txid,
  -                            op_type=downstreamop, op_payload = DownstreamOp},
  +    %% TODO: Remove unnecessary information from op_payload in log_Record
  +    LogRecord = #log_record{tx_id=DownstreamOp#clocksi_payload.txid,
  +                            op_type=downstreamop,
  +                            op_payload=DownstreamOp},
       case floppy_rep_vnode:append(
              Key, DownstreamOp#clocksi_payload.type, LogRecord) of
           {ok, _} ->
  
positive.code:       NewPref, {read, Key, Type, Snapshot_time}, materializer_vnode_master).
  
  %%@doc write downstream operation to persistant log and cache it for future read
  -spec update(Key::term(), DownstreamOp::#clocksi_payload{})
              -> ok | {error, term()}.
  update(Key, DownstreamOp) ->
      DocIdx = riak_core_util:chash_key({?BUCKET,
                                         term_to_binary(Key)}),
      Preflist = riak_core_apl:get_primary_apl(DocIdx, 1, materializer),
      [{NewPref,_}] = Preflist,
      riak_core_vnode_master:sync_command(NewPref, {update, Key, DownstreamOp},
  
negative.code:     riak_core_vnode_master:get_vnode_pid(I, ?MODULE).
  
  %% @doc Read state of key at given snapshot time
  -spec read(key(), type(), vectorclock:vectorclock()) -> {ok, term()} | {error, atom()}.
  read(Key, Type, Snapshot_time) ->
      DocIdx = riak_core_util:chash_key({?BUCKET,
                                         term_to_binary(Key)}),
  