calibration algorithm