anchor.diff:      receive
   	{UserTT,Result} ->
   	    demonitor(MonRef, [flush]),
  -	    Elapsed = trunc(timer:now_diff(os:timestamp(), T0) / 1000),
  +	    T1 = erlang:monotonic_time(),
  +	    Elapsed = erlang:convert_time_unit(T1-T0, native, milli_seconds),
   	    try time_ms_check(Result) of
   		TimeVal ->
   		    %% this is the new timetrap value to set (return value
  
positive.code: 			proplists:delete(TCPid, UserTTs)),
  		    proceed;
  		{OtherUserTTSup,OtherStartTime} ->
  		    case timer:now_diff(OtherStartTime, StartTime) of
  			Diff when Diff >= 0 ->
  			    ignore;
  			_ ->
  
negative.code: time_ms_apply(Func, TCPid, MultAndScale) ->
      {_,GL} = process_info(TCPid, group_leader),
      WhoAmI = self(),				% either TC or IO server
      T0 = erlang:monotonic_time(),
      UserTTSup = 
  	spawn(fun() -> 
  		      user_timetrap_supervisor(Func, WhoAmI, TCPid,
  