added kalman filter