anchor.diff:      gen_fsm:start_link(?MODULE, [From, ClientClock, Operations], []).
   
   finishOp(From, Key,Result) ->
  -    gen_fsm:send_event(From, {Key, Result}).
  -
  +   gen_fsm:send_event(From, {Key, Result}).
  +   
   %%%===================================================================
   %%% States
   %%%===================================================================
  
positive.code: %%		wait for it to finish (synchronous) and go to the prepareOP to execute the next
  %%		operation.
  executeOp(timeout, SD0=#state{
                            currentOp=CurrentOp,
                            txid=TransactionId,
                            updated_partitions=UpdatedPartitions,
                            read_set=ReadSet,
                            currentOpLeader=CurrentOpLeader}) ->
      {OpType, Key, Param}=CurrentOp,
      lager:info("ClockSI-Coord: Execute operation ~w ~n",[CurrentOp]),
      {IndexNode, _} = CurrentOpLeader,
      case OpType of
  
negative.code: %%		starting this transaction has seen, and
  %%	2. 	machine's local time, as returned by erlang:now(). 	
  get_snapshot_time(ClientClock) ->
  	{Megasecs, Secs, Microsecs}=erlang:now(), 
  	case (ClientClock > {Megasecs, Secs, Microsecs - ?DELTA}) of 
  		true->
  			%% should we wait until the clock of this machine catches up with this value?
  			{ClientMegasecs, ClientSecs, ClientMicrosecs}=ClientClock,
  			SnapshotTime = {ClientMegasecs, ClientSecs, ClientMicrosecs + ?MIN};
  
  		false ->
  			SnapshotTime = {Megasecs, Secs, Microsecs - ?DELTA}
  	end,
  	{ok, SnapshotTime}.
  