added variation of the kalman filter