anchor.diff:              % find highest precision and lower archives to update
               {Archive, LowerArchives} = highest_precision_archive(TimeDiff, Header#metadata.archives),
   
  -            % seek first data point
  -            {ok, _} = file:position(IO, {bof, Archive#archive_header.offset}),
  -
               % read base data point
  -            {BaseInterval, _Value} = read_point(IO),
  +            {BaseInterval, _Value} = point_at(IO, Archive#archive_header.offset),
               Position = get_data_point_offset(Archive, TimeStamp, BaseInterval),
   
               % write data point based on initial data point
  
positive.code:     end.
  
  
  mod(A, B) when A < 0 -> erlang:abs(A) rem B;
  mod(A, B) -> A rem B.
  
  
negative.code:     % read higher point
      % XXX: might be passed in already?
      HighOffset = Higher#archive_header.offset,
      {HighInterval, _} = point_at(IO, HighOffset),
      HighFirstOffset = get_data_point_offset(Higher, LowerStart, HighInterval),
  
      HigherSeconds = Higher#archive_header.seconds,
  