added compass calibration