add compensation functions