refactored (Kalman can be build without pmcmc)