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