changed kalman impl