anchor.diff:              	CommitTime = (lists:last(Ops))#clocksi_payload.commit_time,
               	lager:info("materialiser_vnode: caching new snapshot= ~p with Commit Time= ~p", [Snapshot, CommitTime]),
               	SnapshotDict=orddict:new(),
  -            	ets:insert(SnapshotCache, {Key, orddict:store(CommitTime,Snapshot, SnapshotDict)})
  +            	ets:insert(SnapshotCache, {Key, snapshot_gc(orddict:store(CommitTime,Snapshot, SnapshotDict))})
               end;
           [{_, SnapshotDict}] ->
   			{ok, {SnapshotCommitTime, LatestSnapshot}} = get_latest_snapshot(SnapshotDict, SnapshotTime),
  
positive.code:             		TxId = LastOp#clocksi_payload.txid,
  					{ok, Snapshot} = clocksi_materializer:update_snapshot(Type, LatestSnapshot, SnapshotTime, [H|T], TxId),
  					CommitTime = LastOp#clocksi_payload.commit_time,
  					lager:info("materialiser_vnode: caching new snapshot= ~p, snapshot committed with time:~p.", [Snapshot,CommitTime]),
  					ets:insert(SnapshotCache, {Key, orddict:store(CommitTime,Snapshot, SnapshotDict)})
  				end
              end
      end,
  	lager:info("materialiser_vnode: snapshot: ~p", [Snapshot]),
  	{reply, {ok, Snapshot}, State};
  
  handle_command({update, Key, DownstreamOp}, _Sender,
                 State = #state{ops_cache = OpsCache})->
  
negative.code: 
  -include("floppy.hrl").
  -include_lib("riak_core/include/riak_core_vnode.hrl").
  
  
  -define(SNAPSHOT_THRESHOLD, 10).
  -define(SNAPSHOT_MIN, 2).
  -define(OPS_THRESHOLD, 50).
  -define(OPS_MIN, 5).
  
  -export([start_vnode/1,
           read/3,
  