diff --git a/tests/AIM/fs2000_b1L1L.mod b/tests/AIM/fs2000_b1L1L.mod
index 0a64f8e9c9f8c4374a2547f77924900f685d8f8f..2160661d5a3aa9711519bfd893b88cc2db9dd267 100644
--- a/tests/AIM/fs2000_b1L1L.mod
+++ b/tests/AIM/fs2000_b1L1L.mod
@@ -52,21 +52,34 @@ P2 = P(+1);
 c2 = c(+1);
 end;
 
-initval;
-k = 6;
-m = mst;
-P = 2.25;
-c = 0.45;
-e = 1;
-W = 4;
-R = 1.02;
-d = 0.85;
-n = 0.19;
-l = 0.86;
-y = 0.6;
-gy_obs = exp(gam);
-gp_obs = exp(-gam); 
-dA = exp(gam);
+steady_state_model;
+  dA = exp(gam);
+  gst = 1/dA;
+  m = mst;
+  khst = ( (1-gst*bet*(1-del)) / (alp*gst^alp*bet) )^(1/(alp-1));
+  xist = ( ((khst*gst)^alp - (1-gst*(1-del))*khst)/mst )^(-1);
+  nust = psi*mst^2/( (1-alp)*(1-psi)*bet*gst^alp*khst^alp );
+  n  = xist/(nust+xist);
+  P  = xist + nust;
+  k  = khst*n;
+
+  l  = psi*mst*n/( (1-psi)*(1-n) );
+  c  = mst/P;
+  d  = l - mst + 1;
+  y  = k^alp*n^(1-alp)*gst^alp;
+  R  = mst/bet;
+  W  = l/n;
+  ist  = y-c;
+  q  = 1 - d;
+
+  e = 1;
+  
+  gp_obs = m/dA;
+  gy_obs = dA;
+  Y_obs = 1;
+  P_obs = 1;
+  P2 = P;
+  c2 = c;
 end;
 
 shocks;
diff --git a/tests/AIM/fs2000_b1L1L_AIM.mod b/tests/AIM/fs2000_b1L1L_AIM.mod
index 9a4b359cdc6f3ad248a4e55039420240fc164c33..71a0ec1ade9d0a7e004b9d602cb9e5474e1b9d5e 100644
--- a/tests/AIM/fs2000_b1L1L_AIM.mod
+++ b/tests/AIM/fs2000_b1L1L_AIM.mod
@@ -52,23 +52,37 @@ P2 = P(+1);
 c2 = c(+1);
 end;
 
-initval;
-k = 6;
-m = mst;
-P = 2.25;
-c = 0.45;
-e = 1;
-W = 4;
-R = 1.02;
-d = 0.85;
-n = 0.19;
-l = 0.86;
-y = 0.6;
-gy_obs = exp(gam);
-gp_obs = exp(-gam); 
-dA = exp(gam);
+steady_state_model;
+  dA = exp(gam);
+  gst = 1/dA;
+  m = mst;
+  khst = ( (1-gst*bet*(1-del)) / (alp*gst^alp*bet) )^(1/(alp-1));
+  xist = ( ((khst*gst)^alp - (1-gst*(1-del))*khst)/mst )^(-1);
+  nust = psi*mst^2/( (1-alp)*(1-psi)*bet*gst^alp*khst^alp );
+  n  = xist/(nust+xist);
+  P  = xist + nust;
+  k  = khst*n;
+
+  l  = psi*mst*n/( (1-psi)*(1-n) );
+  c  = mst/P;
+  d  = l - mst + 1;
+  y  = k^alp*n^(1-alp)*gst^alp;
+  R  = mst/bet;
+  W  = l/n;
+  ist  = y-c;
+  q  = 1 - d;
+
+  e = 1;
+  
+  gp_obs = m/dA;
+  gy_obs = dA;
+  Y_obs = 1;
+  P_obs = 1;
+  P2 = P;
+  c2 = c;
 end;
 
+
 shocks;
 var e_a; stderr 0.014;
 var e_m; stderr 0.005;
diff --git a/tests/AIM/fs2000_b1L1L_AIM_steadystate.m b/tests/AIM/fs2000_b1L1L_AIM_steadystate.m
deleted file mode 100644
index eea49707ddc95a61186262259fdb0fee376325a3..0000000000000000000000000000000000000000
--- a/tests/AIM/fs2000_b1L1L_AIM_steadystate.m
+++ /dev/null
@@ -1,65 +0,0 @@
-% computes the steady state of fs2000 analyticaly
-% largely inspired by the program of F. Schorfheide
-function [ys,check] = fs2000k_steadystate(ys,exe)
-  global M_
-  
-  alp = M_.params(1); 
-  bet = M_.params(2); 
-  gam = M_.params(3); 
-  mst = M_.params(4); 
-  rho = M_.params(5); 
-  psi = M_.params(6); 
-  del = M_.params(7); 
-
-  check = 0;
-  
-  dA = exp(gam);
-  gst = 1/dA;
-  m = mst;
-  
-  khst = ( (1-gst*bet*(1-del)) / (alp*gst^alp*bet) )^(1/(alp-1));
-  xist = ( ((khst*gst)^alp - (1-gst*(1-del))*khst)/mst )^(-1);
-  nust = psi*mst^2/( (1-alp)*(1-psi)*bet*gst^alp*khst^alp );
-  n  = xist/(nust+xist);
-  P  = xist + nust;
-  k  = khst*n;
-
-  l  = psi*mst*n/( (1-psi)*(1-n) );
-  c  = mst/P;
-  d  = l - mst + 1;
-  y  = k^alp*n^(1-alp)*gst^alp;
-  R  = mst/bet;
-  W  = l/n;
-  ist  = y-c;
-  q  = 1 - d;
-
-  e = 1;
-  
-  gp_obs = m/dA;
-  gy_obs = dA;
-  
-  P_obs = 1;
-  Y_obs = 1;
-  
-  P2=P;
-  c2=c;
-  
-  ys =[
-    m     
-    P     
-    c     
-    e     
-    W     
-    R     
-    k     
-    d     
-    n     
-    l     
-    gy_obs
-    gp_obs
-    Y_obs 
-    P_obs 
-    y     
-    dA
-    P2
-    c2  ];
\ No newline at end of file
diff --git a/tests/AIM/fs2000_b1L1L_steadystate.m b/tests/AIM/fs2000_b1L1L_steadystate.m
deleted file mode 100644
index 24b9ebc273a3a5eea4ef472e8cf6bc250c0903a4..0000000000000000000000000000000000000000
--- a/tests/AIM/fs2000_b1L1L_steadystate.m
+++ /dev/null
@@ -1,65 +0,0 @@
-% computes the steady state of fs2000 analyticaly
-% largely inspired by the program of F. Schorfheide
-function [ys,check] = fs2000_b1L1L_steadystate(ys,exe)
-  global M_
-  
-  alp = M_.params(1); 
-  bet = M_.params(2); 
-  gam = M_.params(3); 
-  mst = M_.params(4); 
-  rho = M_.params(5); 
-  psi = M_.params(6); 
-  del = M_.params(7); 
-
-  check = 0;
-  
-  dA = exp(gam);
-  gst = 1/dA;
-  m = mst;
-  
-  khst = ( (1-gst*bet*(1-del)) / (alp*gst^alp*bet) )^(1/(alp-1));
-  xist = ( ((khst*gst)^alp - (1-gst*(1-del))*khst)/mst )^(-1);
-  nust = psi*mst^2/( (1-alp)*(1-psi)*bet*gst^alp*khst^alp );
-  n  = xist/(nust+xist);
-  P  = xist + nust;
-  k  = khst*n;
-
-  l  = psi*mst*n/( (1-psi)*(1-n) );
-  c  = mst/P;
-  d  = l - mst + 1;
-  y  = k^alp*n^(1-alp)*gst^alp;
-  R  = mst/bet;
-  W  = l/n;
-  ist  = y-c;
-  q  = 1 - d;
-
-  e = 1;
-  
-  gp_obs = m/dA;
-  gy_obs = dA;
-  
-  P_obs = 1;
-  Y_obs = 1;
-  
-  P2=P;
-  c2=c;
-  
-  ys =[
-    m     
-    P     
-    c     
-    e     
-    W     
-    R     
-    k     
-    d     
-    n     
-    l     
-    gy_obs
-    gp_obs
-    Y_obs 
-    P_obs 
-    y     
-    dA
-    P2
-    c2  ];
\ No newline at end of file
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 706ff4074dd2f961e09f10f8938c9256180fe054..c6c300f80e2e3c6a83a2418525798db639bf54f4 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -353,8 +353,6 @@ EXTRA_DIST = \
 	printMakeCheckOctaveErrMsg.m \
 	fataltest.m \
 	AIM/data_ca1.m \
-	AIM/fs2000_b1L1L_AIM_steadystate.m \
-	AIM/fs2000_b1L1L_steadystate.m \
 	AIM/fsdat.m \
 	block_bytecode/run_ls2003.m \
 	bvar_a_la_sims/bvar_sample.m \
@@ -365,12 +363,10 @@ EXTRA_DIST = \
 	steady_state/walsh1_old_ss_steadystate.m \
 	data/test.xls \
 	analytic_derivatives/fsdat_simul.m \
-	fs2000/fs2000a_steadystate.m \
 	fs2000/fsdat_simul.m \
 	k_order_perturbation/run_fs2000kplusplus.m \
 	ls2003/data_ca1.m \
 	measurement_errors/data_ca1.m \
-	measurement_errors/fs2000_corr_me_ml_mcmc/fs2000_corr_ME_steadystate.m \
 	measurement_errors/fs2000_corr_me_ml_mcmc/fsdat_simul.m \
 	missing/simulate_data_with_missing_observations.m \
 	objectives/sgu_ex1.mat \
@@ -393,18 +389,14 @@ EXTRA_DIST = \
 	ms-sbvar/archive-files/specification_2v2c.dat \
 	recursive/data_ca1.m \
 	kalman_filter_smoother/fsdat_simul.m \
-	kalman_filter_smoother/fs2000a_steadystate.m \
 	identification/kim/kim2_steadystate.m \
+	identification/as2007/as2007_steadystate.m \
 	estimation/fsdat_simul.m \
 	ep/mean_preserving_spread.m \
 	third_order/comparison_policy_functions_dynare_mathematica.m \
 	third_order/policyfunctions.mat \
 	shock_decomposition/example1_calib_shock_decomp_data.mat \
 	shock_decomposition/fsdat_simul.m \
-	estimation/fs2000_MCMC_jumping_covariance_steadystate.m \
-	estimation/fs2000_initialize_from_calib_steadystate.m \
-	filter_step_ahead/fs2000_filter_step_ahead_bayesian_steadystate.m \
-	filter_step_ahead/fs2000_filter_step_ahead_ML_steadystate.m \
 	loglinear/results_exp.mat \
 	smoother2histval/fsdat_simul.m \
 	optimal_policy/Ramsey/find_c.m \
diff --git a/tests/analytic_derivatives/fs2000_analytic_derivation.mod b/tests/analytic_derivatives/fs2000_analytic_derivation.mod
index 3dc8b7ad04c429b1c54f9a878de77d3d6540673e..46fed44161e65830bd2bb0385b121871693e33b8 100644
--- a/tests/analytic_derivatives/fs2000_analytic_derivation.mod
+++ b/tests/analytic_derivatives/fs2000_analytic_derivation.mod
@@ -30,21 +30,30 @@ gy_obs = dA*y/y(-1);
 gp_obs = (P/P(-1))*m(-1)/dA;
 end;
 
-initval;
-k = 6;
-m = mst;
-P = 2.25;
-c = 0.45;
-e = 1;
-W = 4;
-R = 1.02;
-d = 0.85;
-n = 0.19;
-l = 0.86;
-y = 0.6;
-gy_obs = exp(gam);
-gp_obs = exp(-gam);
-dA = exp(gam);
+steady_state_model;
+  dA = exp(gam);
+  gst = 1/dA;
+  m = mst;
+  khst = ( (1-gst*bet*(1-del)) / (alp*gst^alp*bet) )^(1/(alp-1));
+  xist = ( ((khst*gst)^alp - (1-gst*(1-del))*khst)/mst )^(-1);
+  nust = psi*mst^2/( (1-alp)*(1-psi)*bet*gst^alp*khst^alp );
+  n  = xist/(nust+xist);
+  P  = xist + nust;
+  k  = khst*n;
+
+  l  = psi*mst*n/( (1-psi)*(1-n) );
+  c  = mst/P;
+  d  = l - mst + 1;
+  y  = k^alp*n^(1-alp)*gst^alp;
+  R  = mst/bet;
+  W  = l/n;
+  ist  = y-c;
+  q  = 1 - d;
+
+  e = 1;
+  
+  gp_obs = m/dA;
+  gy_obs = dA;
 end;
 
 shocks;
diff --git a/tests/conditional_forecasts/fs2000_cal.mod b/tests/conditional_forecasts/fs2000_cal.mod
index 4b63fd55471f9142c5504bafea5d6eeb7bb2b543..3e3c8cd012a8289e3f670f393b09681f632947db 100644
--- a/tests/conditional_forecasts/fs2000_cal.mod
+++ b/tests/conditional_forecasts/fs2000_cal.mod
@@ -30,21 +30,30 @@ gy_obs = dA*y/y(-1);
 gp_obs = (P/P(-1))*m(-1)/dA;
 end;
 
-initval;
-k = 6;
-m = mst;
-P = 2.25;
-c = 0.45;
-e = 1;
-W = 4;
-R = 1.02;
-d = 0.85;
-n = 0.19;
-l = 0.86;
-y = 0.6;
-gy_obs = exp(gam);
-gp_obs = exp(-gam);
-dA = exp(gam);
+steady_state_model;
+  dA = exp(gam);
+  gst = 1/dA;
+  m = mst;
+  khst = ( (1-gst*bet*(1-del)) / (alp*gst^alp*bet) )^(1/(alp-1));
+  xist = ( ((khst*gst)^alp - (1-gst*(1-del))*khst)/mst )^(-1);
+  nust = psi*mst^2/( (1-alp)*(1-psi)*bet*gst^alp*khst^alp );
+  n  = xist/(nust+xist);
+  P  = xist + nust;
+  k  = khst*n;
+
+  l  = psi*mst*n/( (1-psi)*(1-n) );
+  c  = mst/P;
+  d  = l - mst + 1;
+  y  = k^alp*n^(1-alp)*gst^alp;
+  R  = mst/bet;
+  W  = l/n;
+  ist  = y-c;
+  q  = 1 - d;
+
+  e = 1;
+  
+  gp_obs = m/dA;
+  gy_obs = dA;
 end;
 
 shocks;
diff --git a/tests/conditional_forecasts/fs2000_est.mod b/tests/conditional_forecasts/fs2000_est.mod
index 6f07765f76c83382c9d545128ce3a9c763913a41..79f8d8c2a0008f0c7ff3d73709b3feb8ec205d25 100644
--- a/tests/conditional_forecasts/fs2000_est.mod
+++ b/tests/conditional_forecasts/fs2000_est.mod
@@ -30,21 +30,30 @@ gy_obs = dA*y/y(-1);
 gp_obs = (P/P(-1))*m(-1)/dA;
 end;
 
-initval;
-k = 6;
-m = mst;
-P = 2.25;
-c = 0.45;
-e = 1;
-W = 4;
-R = 1.02;
-d = 0.85;
-n = 0.19;
-l = 0.86;
-y = 0.6;
-gy_obs = exp(gam);
-gp_obs = exp(-gam);
-dA = exp(gam);
+steady_state_model;
+  dA = exp(gam);
+  gst = 1/dA;
+  m = mst;
+  khst = ( (1-gst*bet*(1-del)) / (alp*gst^alp*bet) )^(1/(alp-1));
+  xist = ( ((khst*gst)^alp - (1-gst*(1-del))*khst)/mst )^(-1);
+  nust = psi*mst^2/( (1-alp)*(1-psi)*bet*gst^alp*khst^alp );
+  n  = xist/(nust+xist);
+  P  = xist + nust;
+  k  = khst*n;
+
+  l  = psi*mst*n/( (1-psi)*(1-n) );
+  c  = mst/P;
+  d  = l - mst + 1;
+  y  = k^alp*n^(1-alp)*gst^alp;
+  R  = mst/bet;
+  W  = l/n;
+  ist  = y-c;
+  q  = 1 - d;
+
+  e = 1;
+  
+  gp_obs = m/dA;
+  gy_obs = dA;
 end;
 
 shocks;
diff --git a/tests/dates/fs2000.mod b/tests/dates/fs2000.mod
index 79209edd1f297bc5a4785b56f61dc5074c6a1f05..897f78b5f8c445102fdba5d50358d3b909339c17 100644
--- a/tests/dates/fs2000.mod
+++ b/tests/dates/fs2000.mod
@@ -32,21 +32,30 @@ gy_obs = dA*y/y(-1);
 gp_obs = (P/P(-1))*m(-1)/dA;
 end;
 
-initval;
-k = 6;
-m = mst;
-P = 2.25;
-c = 0.45;
-e = 1;
-W = 4;
-R = 1.02;
-d = 0.85;
-n = 0.19;
-l = 0.86;
-y = 0.6;
-gy_obs = exp(gam);
-gp_obs = exp(-gam);
-dA = exp(gam);
+steady_state_model;
+  dA = exp(gam);
+  gst = 1/dA;
+  m = mst;
+  khst = ( (1-gst*bet*(1-del)) / (alp*gst^alp*bet) )^(1/(alp-1));
+  xist = ( ((khst*gst)^alp - (1-gst*(1-del))*khst)/mst )^(-1);
+  nust = psi*mst^2/( (1-alp)*(1-psi)*bet*gst^alp*khst^alp );
+  n  = xist/(nust+xist);
+  P  = xist + nust;
+  k  = khst*n;
+
+  l  = psi*mst*n/( (1-psi)*(1-n) );
+  c  = mst/P;
+  d  = l - mst + 1;
+  y  = k^alp*n^(1-alp)*gst^alp;
+  R  = mst/bet;
+  W  = l/n;
+  ist  = y-c;
+  q  = 1 - d;
+
+  e = 1;
+  
+  gp_obs = m/dA;
+  gy_obs = dA;
 end;
 
 shocks;
diff --git a/tests/estimation/fs2000.mod b/tests/estimation/fs2000.mod
index 981dd35f61a47e0be29b6333f06cf73609791971..3b51be0142b732aaf90657932293c090991f6d68 100644
--- a/tests/estimation/fs2000.mod
+++ b/tests/estimation/fs2000.mod
@@ -30,23 +30,33 @@ gy_obs = dA*y/y(-1);
 gp_obs = (P/P(-1))*m(-1)/dA;
 end;
 
-initval;
-k = 6;
-m = mst;
-P = 2.25;
-c = 0.45;
-e = 1;
-W = 4;
-R = 1.02;
-d = 0.85;
-n = 0.19;
-l = 0.86;
-y = 0.6;
-gy_obs = exp(gam);
-gp_obs = exp(-gam);
-dA = exp(gam);
+steady_state_model;
+  dA = exp(gam);
+  gst = 1/dA;
+  m = mst;
+  khst = ( (1-gst*bet*(1-del)) / (alp*gst^alp*bet) )^(1/(alp-1));
+  xist = ( ((khst*gst)^alp - (1-gst*(1-del))*khst)/mst )^(-1);
+  nust = psi*mst^2/( (1-alp)*(1-psi)*bet*gst^alp*khst^alp );
+  n  = xist/(nust+xist);
+  P  = xist + nust;
+  k  = khst*n;
+
+  l  = psi*mst*n/( (1-psi)*(1-n) );
+  c  = mst/P;
+  d  = l - mst + 1;
+  y  = k^alp*n^(1-alp)*gst^alp;
+  R  = mst/bet;
+  W  = l/n;
+  ist  = y-c;
+  q  = 1 - d;
+
+  e = 1;
+  
+  gp_obs = m/dA;
+  gy_obs = dA;
 end;
 
+
 shocks;
 var e_a; stderr 0.014;
 var e_m; stderr 0.005;
@@ -72,4 +82,4 @@ varobs gp_obs gy_obs;
 
 options_.solve_tolf = 1e-12;
 
-estimation(order=1,datafile=fsdat_simul,nobs=192,loglinear,mh_replic=2000,mh_nblocks=2,mh_jscale=0.8);
+estimation(order=1,datafile=fsdat_simul,nobs=192,loglinear,mh_replic=3000,mh_nblocks=2,mh_jscale=0.8,moments_varendo,selected_variables_only) y m;
diff --git a/tests/estimation/fs2000_MCMC_jumping_covariance.mod b/tests/estimation/fs2000_MCMC_jumping_covariance.mod
index f4614b4f45bff6d1968b8614752927fd13eb0078..91a6f20d86fc92f30733c33c2da2836df81e93b8 100644
--- a/tests/estimation/fs2000_MCMC_jumping_covariance.mod
+++ b/tests/estimation/fs2000_MCMC_jumping_covariance.mod
@@ -30,21 +30,30 @@ gy_obs = dA*y/y(-1);
 gp_obs = (P/P(-1))*m(-1)/dA;
 end;
 
-initval;
-k = 6;
-m = mst;
-P = 2.25;
-c = 0.45;
-e = 1;
-W = 4;
-R = 1.02;
-d = 0.85;
-n = 0.19;
-l = 0.86;
-y = 0.6;
-gy_obs = exp(gam);
-gp_obs = exp(-gam);
-dA = exp(gam);
+steady_state_model;
+  dA = exp(gam);
+  gst = 1/dA;
+  m = mst;
+  khst = ( (1-gst*bet*(1-del)) / (alp*gst^alp*bet) )^(1/(alp-1));
+  xist = ( ((khst*gst)^alp - (1-gst*(1-del))*khst)/mst )^(-1);
+  nust = psi*mst^2/( (1-alp)*(1-psi)*bet*gst^alp*khst^alp );
+  n  = xist/(nust+xist);
+  P  = xist + nust;
+  k  = khst*n;
+
+  l  = psi*mst*n/( (1-psi)*(1-n) );
+  c  = mst/P;
+  d  = l - mst + 1;
+  y  = k^alp*n^(1-alp)*gst^alp;
+  R  = mst/bet;
+  W  = l/n;
+  ist  = y-c;
+  q  = 1 - d;
+
+  e = 1;
+  
+  gp_obs = m/dA;
+  gy_obs = dA;
 end;
 
 shocks;
diff --git a/tests/estimation/fs2000_MCMC_jumping_covariance_steadystate.m b/tests/estimation/fs2000_MCMC_jumping_covariance_steadystate.m
deleted file mode 100644
index 1f7d9dbd6ddfd0038a2ae5562cc0f46349a297ff..0000000000000000000000000000000000000000
--- a/tests/estimation/fs2000_MCMC_jumping_covariance_steadystate.m
+++ /dev/null
@@ -1,73 +0,0 @@
-% computes the steady state of fs2000 analyticaly
-% largely inspired by the program of F. Schorfheide
-
-% Copyright (C) 2004-2010 Dynare Team
-%
-% This file is part of Dynare.
-%
-% Dynare is free software: you can redistribute it and/or modify
-% it under the terms of the GNU General Public License as published by
-% the Free Software Foundation, either version 3 of the License, or
-% (at your option) any later version.
-%
-% Dynare is distributed in the hope that it will be useful,
-% but WITHOUT ANY WARRANTY; without even the implied warranty of
-% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-% GNU General Public License for more details.
-%
-% You should have received a copy of the GNU General Public License
-% along with Dynare.  If not, see <http://www.gnu.org/licenses/>.
-
-function [ys,check] = fs2000_MCMC_jumping_covariance_steadystate(ys,exe)
-  global M_
-  
-  alp = M_.params(1); 
-  bet = M_.params(2); 
-  gam = M_.params(3); 
-  mst = M_.params(4); 
-  rho = M_.params(5); 
-  psi = M_.params(6); 
-  del = M_.params(7); 
-
-  check = 0;
-  
-  dA = exp(gam);
-  gst = 1/dA;
-  m = mst;
-  
-  khst = ( (1-gst*bet*(1-del)) / (alp*gst^alp*bet) )^(1/(alp-1));
-  xist = ( ((khst*gst)^alp - (1-gst*(1-del))*khst)/mst )^(-1);
-  nust = psi*mst^2/( (1-alp)*(1-psi)*bet*gst^alp*khst^alp );
-  n  = xist/(nust+xist);
-  P  = xist + nust;
-  k  = khst*n;
-
-  l  = psi*mst*n/( (1-psi)*(1-n) );
-  c  = mst/P;
-  d  = l - mst + 1;
-  y  = k^alp*n^(1-alp)*gst^alp;
-  R  = mst/bet;
-  W  = l/n;
-  ist  = y-c;
-  q  = 1 - d;
-
-  e = 1;
-  
-  gp_obs = m/dA;
-  gy_obs = dA;
-  
-  ys =[
-m     
-P     
-c     
-e     
-W     
-R     
-k     
-d     
-n     
-l     
-gy_obs
-gp_obs
-y     
-dA          ];
diff --git a/tests/estimation/fs2000_calibrated_covariance.mod b/tests/estimation/fs2000_calibrated_covariance.mod
index 0321112c30182d76b15d2c265de2d52eee382216..79d309786857d00238fc1fb57a88e1cdf4972b20 100644
--- a/tests/estimation/fs2000_calibrated_covariance.mod
+++ b/tests/estimation/fs2000_calibrated_covariance.mod
@@ -30,21 +30,30 @@ gy_obs = dA*y/y(-1);
 gp_obs = (P/P(-1))*m(-1)/dA;
 end;
 
-initval;
-k = 6;
-m = mst;
-P = 2.25;
-c = 0.45;
-e = 1;
-W = 4;
-R = 1.02;
-d = 0.85;
-n = 0.19;
-l = 0.86;
-y = 0.6;
-gy_obs = exp(gam);
-gp_obs = exp(-gam);
-dA = exp(gam);
+steady_state_model;
+  dA = exp(gam);
+  gst = 1/dA;
+  m = mst;
+  khst = ( (1-gst*bet*(1-del)) / (alp*gst^alp*bet) )^(1/(alp-1));
+  xist = ( ((khst*gst)^alp - (1-gst*(1-del))*khst)/mst )^(-1);
+  nust = psi*mst^2/( (1-alp)*(1-psi)*bet*gst^alp*khst^alp );
+  n  = xist/(nust+xist);
+  P  = xist + nust;
+  k  = khst*n;
+
+  l  = psi*mst*n/( (1-psi)*(1-n) );
+  c  = mst/P;
+  d  = l - mst + 1;
+  y  = k^alp*n^(1-alp)*gst^alp;
+  R  = mst/bet;
+  W  = l/n;
+  ist  = y-c;
+  q  = 1 - d;
+
+  e = 1;
+  
+  gp_obs = m/dA;
+  gy_obs = dA;
 end;
 
 varobs gp_obs gy_obs;
diff --git a/tests/estimation/fs2000_initialize_from_calib.mod b/tests/estimation/fs2000_initialize_from_calib.mod
index 917e56a51d32640f4471309493da06b62b6faf6a..4cf0c742bc89e49bd5f01e21167bf3d8ff3f0d2e 100644
--- a/tests/estimation/fs2000_initialize_from_calib.mod
+++ b/tests/estimation/fs2000_initialize_from_calib.mod
@@ -29,23 +29,33 @@ gy_obs = dA*y/y(-1);
 gp_obs = (P/P(-1))*m(-1)/dA;
 end;
 
-initval;
-k = 6;
-m = mst;
-P = 2.25;
-c = 0.45;
-e = 1;
-W = 4;
-R = 1.02;
-d = 0.85;
-n = 0.19;
-l = 0.86;
-y = 0.6;
-gy_obs = exp(gam);
-gp_obs = exp(-gam);
-dA = exp(gam);
+steady_state_model;
+  dA = exp(gam);
+  gst = 1/dA;
+  m = mst;
+  khst = ( (1-gst*bet*(1-del)) / (alp*gst^alp*bet) )^(1/(alp-1));
+  xist = ( ((khst*gst)^alp - (1-gst*(1-del))*khst)/mst )^(-1);
+  nust = psi*mst^2/( (1-alp)*(1-psi)*bet*gst^alp*khst^alp );
+  n  = xist/(nust+xist);
+  P  = xist + nust;
+  k  = khst*n;
+
+  l  = psi*mst*n/( (1-psi)*(1-n) );
+  c  = mst/P;
+  d  = l - mst + 1;
+  y  = k^alp*n^(1-alp)*gst^alp;
+  R  = mst/bet;
+  W  = l/n;
+  ist  = y-c;
+  q  = 1 - d;
+
+  e = 1;
+  
+  gp_obs = m/dA;
+  gy_obs = dA;
 end;
 
+
 shocks;
 var e_a; stderr 0.014;
 var e_m; stderr 0.005;
diff --git a/tests/estimation/fs2000_initialize_from_calib_steadystate.m b/tests/estimation/fs2000_initialize_from_calib_steadystate.m
deleted file mode 100644
index 2ac140da5dfd6585ea7168747c441eab7fa2770a..0000000000000000000000000000000000000000
--- a/tests/estimation/fs2000_initialize_from_calib_steadystate.m
+++ /dev/null
@@ -1,73 +0,0 @@
-% computes the steady state of fs2000 analyticaly
-% largely inspired by the program of F. Schorfheide
-
-% Copyright (C) 2004-2010 Dynare Team
-%
-% This file is part of Dynare.
-%
-% Dynare is free software: you can redistribute it and/or modify
-% it under the terms of the GNU General Public License as published by
-% the Free Software Foundation, either version 3 of the License, or
-% (at your option) any later version.
-%
-% Dynare is distributed in the hope that it will be useful,
-% but WITHOUT ANY WARRANTY; without even the implied warranty of
-% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-% GNU General Public License for more details.
-%
-% You should have received a copy of the GNU General Public License
-% along with Dynare.  If not, see <http://www.gnu.org/licenses/>.
-
-function [ys,check] = fs2000_steadystate(ys,exe)
-  global M_
-  
-  alp = M_.params(1); 
-  bet = M_.params(2); 
-  gam = M_.params(3); 
-  mst = M_.params(4); 
-  rho = M_.params(5); 
-  psi = M_.params(6); 
-  del = M_.params(7); 
-
-  check = 0;
-  
-  dA = exp(gam);
-  gst = 1/dA;
-  m = mst;
-  
-  khst = ( (1-gst*bet*(1-del)) / (alp*gst^alp*bet) )^(1/(alp-1));
-  xist = ( ((khst*gst)^alp - (1-gst*(1-del))*khst)/mst )^(-1);
-  nust = psi*mst^2/( (1-alp)*(1-psi)*bet*gst^alp*khst^alp );
-  n  = xist/(nust+xist);
-  P  = xist + nust;
-  k  = khst*n;
-
-  l  = psi*mst*n/( (1-psi)*(1-n) );
-  c  = mst/P;
-  d  = l - mst + 1;
-  y  = k^alp*n^(1-alp)*gst^alp;
-  R  = mst/bet;
-  W  = l/n;
-  ist  = y-c;
-  q  = 1 - d;
-
-  e = 1;
-  
-  gp_obs = m/dA;
-  gy_obs = dA;
-  
-  ys =[
-m     
-P     
-c     
-e     
-W     
-R     
-k     
-d     
-n     
-l     
-gy_obs
-gp_obs
-y     
-dA          ];
diff --git a/tests/estimation/fs2000_mf.mod b/tests/estimation/fs2000_mf.mod
index 3178165afa791e9f75eeb699d796b1f83c56984a..d2c82a2a81aa20c5ab225875ca1291c35a9e9715 100644
--- a/tests/estimation/fs2000_mf.mod
+++ b/tests/estimation/fs2000_mf.mod
@@ -30,21 +30,30 @@ gy_obs = dA*y/y(-1);
 gp_obs = (P/P(-1))*m(-1)/dA;
 end;
 
-initval;
-k = 6;
-m = mst;
-P = 2.25;
-c = 0.45;
-e = 1;
-W = 4;
-R = 1.02;
-d = 0.85;
-n = 0.19;
-l = 0.86;
-y = 0.6;
-gy_obs = exp(gam);
-gp_obs = exp(-gam);
-dA = exp(gam);
+steady_state_model;
+  dA = exp(gam);
+  gst = 1/dA;
+  m = mst;
+  khst = ( (1-gst*bet*(1-del)) / (alp*gst^alp*bet) )^(1/(alp-1));
+  xist = ( ((khst*gst)^alp - (1-gst*(1-del))*khst)/mst )^(-1);
+  nust = psi*mst^2/( (1-alp)*(1-psi)*bet*gst^alp*khst^alp );
+  n  = xist/(nust+xist);
+  P  = xist + nust;
+  k  = khst*n;
+
+  l  = psi*mst*n/( (1-psi)*(1-n) );
+  c  = mst/P;
+  d  = l - mst + 1;
+  y  = k^alp*n^(1-alp)*gst^alp;
+  R  = mst/bet;
+  W  = l/n;
+  ist  = y-c;
+  q  = 1 - d;
+
+  e = 1;
+  
+  gp_obs = m/dA;
+  gy_obs = dA;
 end;
 
 shocks;
diff --git a/tests/filter_step_ahead/fs2000_filter_step_ahead_ML.mod b/tests/filter_step_ahead/fs2000_filter_step_ahead_ML.mod
index 43b013677795a12109e8c09808ba50ba5a5a0552..9de6f5299dee3c5e63ca1942c1ba0e9957a372e5 100644
--- a/tests/filter_step_ahead/fs2000_filter_step_ahead_ML.mod
+++ b/tests/filter_step_ahead/fs2000_filter_step_ahead_ML.mod
@@ -65,21 +65,30 @@ gy_obs = dA*y/y(-1);
 gp_obs = (P/P(-1))*m(-1)/dA;
 end;
 
-initval;
-k = 6;
-m = mst;
-P = 2.25;
-c = 0.45;
-e = 1;
-W = 4;
-R = 1.02;
-d = 0.85;
-n = 0.19;
-l = 0.86;
-y = 0.6;
-gy_obs = exp(gam);
-gp_obs = exp(-gam);
-dA = exp(gam);
+steady_state_model;
+  dA = exp(gam);
+  gst = 1/dA;
+  m = mst;
+  khst = ( (1-gst*bet*(1-del)) / (alp*gst^alp*bet) )^(1/(alp-1));
+  xist = ( ((khst*gst)^alp - (1-gst*(1-del))*khst)/mst )^(-1);
+  nust = psi*mst^2/( (1-alp)*(1-psi)*bet*gst^alp*khst^alp );
+  n  = xist/(nust+xist);
+  P  = xist + nust;
+  k  = khst*n;
+
+  l  = psi*mst*n/( (1-psi)*(1-n) );
+  c  = mst/P;
+  d  = l - mst + 1;
+  y  = k^alp*n^(1-alp)*gst^alp;
+  R  = mst/bet;
+  W  = l/n;
+  ist  = y-c;
+  q  = 1 - d;
+
+  e = 1;
+  
+  gp_obs = m/dA;
+  gy_obs = dA;
 end;
 
 shocks;
diff --git a/tests/filter_step_ahead/fs2000_filter_step_ahead_ML_steadystate.m b/tests/filter_step_ahead/fs2000_filter_step_ahead_ML_steadystate.m
deleted file mode 100644
index 2ac140da5dfd6585ea7168747c441eab7fa2770a..0000000000000000000000000000000000000000
--- a/tests/filter_step_ahead/fs2000_filter_step_ahead_ML_steadystate.m
+++ /dev/null
@@ -1,73 +0,0 @@
-% computes the steady state of fs2000 analyticaly
-% largely inspired by the program of F. Schorfheide
-
-% Copyright (C) 2004-2010 Dynare Team
-%
-% This file is part of Dynare.
-%
-% Dynare is free software: you can redistribute it and/or modify
-% it under the terms of the GNU General Public License as published by
-% the Free Software Foundation, either version 3 of the License, or
-% (at your option) any later version.
-%
-% Dynare is distributed in the hope that it will be useful,
-% but WITHOUT ANY WARRANTY; without even the implied warranty of
-% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-% GNU General Public License for more details.
-%
-% You should have received a copy of the GNU General Public License
-% along with Dynare.  If not, see <http://www.gnu.org/licenses/>.
-
-function [ys,check] = fs2000_steadystate(ys,exe)
-  global M_
-  
-  alp = M_.params(1); 
-  bet = M_.params(2); 
-  gam = M_.params(3); 
-  mst = M_.params(4); 
-  rho = M_.params(5); 
-  psi = M_.params(6); 
-  del = M_.params(7); 
-
-  check = 0;
-  
-  dA = exp(gam);
-  gst = 1/dA;
-  m = mst;
-  
-  khst = ( (1-gst*bet*(1-del)) / (alp*gst^alp*bet) )^(1/(alp-1));
-  xist = ( ((khst*gst)^alp - (1-gst*(1-del))*khst)/mst )^(-1);
-  nust = psi*mst^2/( (1-alp)*(1-psi)*bet*gst^alp*khst^alp );
-  n  = xist/(nust+xist);
-  P  = xist + nust;
-  k  = khst*n;
-
-  l  = psi*mst*n/( (1-psi)*(1-n) );
-  c  = mst/P;
-  d  = l - mst + 1;
-  y  = k^alp*n^(1-alp)*gst^alp;
-  R  = mst/bet;
-  W  = l/n;
-  ist  = y-c;
-  q  = 1 - d;
-
-  e = 1;
-  
-  gp_obs = m/dA;
-  gy_obs = dA;
-  
-  ys =[
-m     
-P     
-c     
-e     
-W     
-R     
-k     
-d     
-n     
-l     
-gy_obs
-gp_obs
-y     
-dA          ];
diff --git a/tests/filter_step_ahead/fs2000_filter_step_ahead_bayesian.mod b/tests/filter_step_ahead/fs2000_filter_step_ahead_bayesian.mod
index f9eb5652abcca392ea5877d91ae315b47bc21674..9e1815adaa0a3d853de635b7129fed189628b0ce 100644
--- a/tests/filter_step_ahead/fs2000_filter_step_ahead_bayesian.mod
+++ b/tests/filter_step_ahead/fs2000_filter_step_ahead_bayesian.mod
@@ -65,21 +65,30 @@ gy_obs = dA*y/y(-1);
 gp_obs = (P/P(-1))*m(-1)/dA;
 end;
 
-initval;
-k = 6;
-m = mst;
-P = 2.25;
-c = 0.45;
-e = 1;
-W = 4;
-R = 1.02;
-d = 0.85;
-n = 0.19;
-l = 0.86;
-y = 0.6;
-gy_obs = exp(gam);
-gp_obs = exp(-gam);
-dA = exp(gam);
+steady_state_model;
+  dA = exp(gam);
+  gst = 1/dA;
+  m = mst;
+  khst = ( (1-gst*bet*(1-del)) / (alp*gst^alp*bet) )^(1/(alp-1));
+  xist = ( ((khst*gst)^alp - (1-gst*(1-del))*khst)/mst )^(-1);
+  nust = psi*mst^2/( (1-alp)*(1-psi)*bet*gst^alp*khst^alp );
+  n  = xist/(nust+xist);
+  P  = xist + nust;
+  k  = khst*n;
+
+  l  = psi*mst*n/( (1-psi)*(1-n) );
+  c  = mst/P;
+  d  = l - mst + 1;
+  y  = k^alp*n^(1-alp)*gst^alp;
+  R  = mst/bet;
+  W  = l/n;
+  ist  = y-c;
+  q  = 1 - d;
+
+  e = 1;
+  
+  gp_obs = m/dA;
+  gy_obs = dA;
 end;
 
 shocks;
diff --git a/tests/filter_step_ahead/fs2000_filter_step_ahead_bayesian_steadystate.m b/tests/filter_step_ahead/fs2000_filter_step_ahead_bayesian_steadystate.m
deleted file mode 100644
index 2ac140da5dfd6585ea7168747c441eab7fa2770a..0000000000000000000000000000000000000000
--- a/tests/filter_step_ahead/fs2000_filter_step_ahead_bayesian_steadystate.m
+++ /dev/null
@@ -1,73 +0,0 @@
-% computes the steady state of fs2000 analyticaly
-% largely inspired by the program of F. Schorfheide
-
-% Copyright (C) 2004-2010 Dynare Team
-%
-% This file is part of Dynare.
-%
-% Dynare is free software: you can redistribute it and/or modify
-% it under the terms of the GNU General Public License as published by
-% the Free Software Foundation, either version 3 of the License, or
-% (at your option) any later version.
-%
-% Dynare is distributed in the hope that it will be useful,
-% but WITHOUT ANY WARRANTY; without even the implied warranty of
-% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-% GNU General Public License for more details.
-%
-% You should have received a copy of the GNU General Public License
-% along with Dynare.  If not, see <http://www.gnu.org/licenses/>.
-
-function [ys,check] = fs2000_steadystate(ys,exe)
-  global M_
-  
-  alp = M_.params(1); 
-  bet = M_.params(2); 
-  gam = M_.params(3); 
-  mst = M_.params(4); 
-  rho = M_.params(5); 
-  psi = M_.params(6); 
-  del = M_.params(7); 
-
-  check = 0;
-  
-  dA = exp(gam);
-  gst = 1/dA;
-  m = mst;
-  
-  khst = ( (1-gst*bet*(1-del)) / (alp*gst^alp*bet) )^(1/(alp-1));
-  xist = ( ((khst*gst)^alp - (1-gst*(1-del))*khst)/mst )^(-1);
-  nust = psi*mst^2/( (1-alp)*(1-psi)*bet*gst^alp*khst^alp );
-  n  = xist/(nust+xist);
-  P  = xist + nust;
-  k  = khst*n;
-
-  l  = psi*mst*n/( (1-psi)*(1-n) );
-  c  = mst/P;
-  d  = l - mst + 1;
-  y  = k^alp*n^(1-alp)*gst^alp;
-  R  = mst/bet;
-  W  = l/n;
-  ist  = y-c;
-  q  = 1 - d;
-
-  e = 1;
-  
-  gp_obs = m/dA;
-  gy_obs = dA;
-  
-  ys =[
-m     
-P     
-c     
-e     
-W     
-R     
-k     
-d     
-n     
-l     
-gy_obs
-gp_obs
-y     
-dA          ];
diff --git a/tests/fs2000/fs2000_analytic_derivation.mod b/tests/fs2000/fs2000_analytic_derivation.mod
index a1c589c2a59dd664244ca1927da1a1d86f21079d..ae324c5ba5c3e69491d247d35667b5b96e931f0f 100644
--- a/tests/fs2000/fs2000_analytic_derivation.mod
+++ b/tests/fs2000/fs2000_analytic_derivation.mod
@@ -30,21 +30,30 @@ gy_obs = dA*y/y(-1);
 gp_obs = (P/P(-1))*m(-1)/dA;
 end;
 
-initval;
-k = 6;
-m = mst;
-P = 2.25;
-c = 0.45;
-e = 1;
-W = 4;
-R = 1.02;
-d = 0.85;
-n = 0.19;
-l = 0.86;
-y = 0.6;
-gy_obs = exp(gam);
-gp_obs = exp(-gam);
-dA = exp(gam);
+steady_state_model;
+  dA = exp(gam);
+  gst = 1/dA;
+  m = mst;
+  khst = ( (1-gst*bet*(1-del)) / (alp*gst^alp*bet) )^(1/(alp-1));
+  xist = ( ((khst*gst)^alp - (1-gst*(1-del))*khst)/mst )^(-1);
+  nust = psi*mst^2/( (1-alp)*(1-psi)*bet*gst^alp*khst^alp );
+  n  = xist/(nust+xist);
+  P  = xist + nust;
+  k  = khst*n;
+
+  l  = psi*mst*n/( (1-psi)*(1-n) );
+  c  = mst/P;
+  d  = l - mst + 1;
+  y  = k^alp*n^(1-alp)*gst^alp;
+  R  = mst/bet;
+  W  = l/n;
+  ist  = y-c;
+  q  = 1 - d;
+
+  e = 1;
+  
+  gp_obs = m/dA;
+  gy_obs = dA;
 end;
 
 shocks;
diff --git a/tests/fs2000/fs2000_calib.mod b/tests/fs2000/fs2000_calib.mod
index d826df0b5a32391a93a2a9f4178b9c72cd427c2c..b40f8e9bcd9c8073dfcc19bbebc4d5da8f32a855 100644
--- a/tests/fs2000/fs2000_calib.mod
+++ b/tests/fs2000/fs2000_calib.mod
@@ -30,21 +30,30 @@ gy_obs = dA*y/y(-1);
 gp_obs = (P/P(-1))*m(-1)/dA;
 end;
 
-initval;
-k = 6;
-m = mst;
-P = 2.25;
-c = 0.45;
-e = 1;
-W = 4;
-R = 1.02;
-d = 0.85;
-n = 0.19;
-l = 0.86;
-y = 0.6;
-gy_obs = exp(gam);
-gp_obs = exp(-gam);
-dA = exp(gam);
+steady_state_model;
+  dA = exp(gam);
+  gst = 1/dA;
+  m = mst;
+  khst = ( (1-gst*bet*(1-del)) / (alp*gst^alp*bet) )^(1/(alp-1));
+  xist = ( ((khst*gst)^alp - (1-gst*(1-del))*khst)/mst )^(-1);
+  nust = psi*mst^2/( (1-alp)*(1-psi)*bet*gst^alp*khst^alp );
+  n  = xist/(nust+xist);
+  P  = xist + nust;
+  k  = khst*n;
+
+  l  = psi*mst*n/( (1-psi)*(1-n) );
+  c  = mst/P;
+  d  = l - mst + 1;
+  y  = k^alp*n^(1-alp)*gst^alp;
+  R  = mst/bet;
+  W  = l/n;
+  ist  = y-c;
+  q  = 1 - d;
+
+  e = 1;
+  
+  gp_obs = m/dA;
+  gy_obs = dA;
 end;
 
 shocks;
diff --git a/tests/fs2000/fs2000_calib_dseries.mod b/tests/fs2000/fs2000_calib_dseries.mod
index 18e41f33c3af9733f4242cedd6d3bed7d0d0374c..f06c90493bf6591999adf5caa3cb12acf50cfd7a 100644
--- a/tests/fs2000/fs2000_calib_dseries.mod
+++ b/tests/fs2000/fs2000_calib_dseries.mod
@@ -30,21 +30,30 @@ gy_obs = dA*y/y(-1);
 gp_obs = (P/P(-1))*m(-1)/dA;
 end;
 
-initval;
-k = 6;
-m = mst;
-P = 2.25;
-c = 0.45;
-e = 1;
-W = 4;
-R = 1.02;
-d = 0.85;
-n = 0.19;
-l = 0.86;
-y = 0.6;
-gy_obs = exp(gam);
-gp_obs = exp(-gam);
-dA = exp(gam);
+steady_state_model;
+  dA = exp(gam);
+  gst = 1/dA;
+  m = mst;
+  khst = ( (1-gst*bet*(1-del)) / (alp*gst^alp*bet) )^(1/(alp-1));
+  xist = ( ((khst*gst)^alp - (1-gst*(1-del))*khst)/mst )^(-1);
+  nust = psi*mst^2/( (1-alp)*(1-psi)*bet*gst^alp*khst^alp );
+  n  = xist/(nust+xist);
+  P  = xist + nust;
+  k  = khst*n;
+
+  l  = psi*mst*n/( (1-psi)*(1-n) );
+  c  = mst/P;
+  d  = l - mst + 1;
+  y  = k^alp*n^(1-alp)*gst^alp;
+  R  = mst/bet;
+  W  = l/n;
+  ist  = y-c;
+  q  = 1 - d;
+
+  e = 1;
+  
+  gp_obs = m/dA;
+  gy_obs = dA;
 end;
 
 shocks;
diff --git a/tests/fs2000/fs2000_data.mod b/tests/fs2000/fs2000_data.mod
index 23018eeddb19d02c1bb078aa615e2f379d1c328d..da58096a2b360557fe31da8aaf2fe2031a10fb90 100644
--- a/tests/fs2000/fs2000_data.mod
+++ b/tests/fs2000/fs2000_data.mod
@@ -30,23 +30,33 @@ gy_obs = dA*y/y(-1);
 gp_obs = (P/P(-1))*m(-1)/dA;
 end;
 
-initval;
-k = 6;
-m = mst;
-P = 2.25;
-c = 0.45;
-e = 1;
-W = 4;
-R = 1.02;
-d = 0.85;
-n = 0.19;
-l = 0.86;
-y = 0.6;
-gy_obs = exp(gam);
-gp_obs = exp(-gam);
-dA = exp(gam);
+steady_state_model;
+  dA = exp(gam);
+  gst = 1/dA;
+  m = mst;
+  khst = ( (1-gst*bet*(1-del)) / (alp*gst^alp*bet) )^(1/(alp-1));
+  xist = ( ((khst*gst)^alp - (1-gst*(1-del))*khst)/mst )^(-1);
+  nust = psi*mst^2/( (1-alp)*(1-psi)*bet*gst^alp*khst^alp );
+  n  = xist/(nust+xist);
+  P  = xist + nust;
+  k  = khst*n;
+
+  l  = psi*mst*n/( (1-psi)*(1-n) );
+  c  = mst/P;
+  d  = l - mst + 1;
+  y  = k^alp*n^(1-alp)*gst^alp;
+  R  = mst/bet;
+  W  = l/n;
+  ist  = y-c;
+  q  = 1 - d;
+
+  e = 1;
+  
+  gp_obs = m/dA;
+  gy_obs = dA;
 end;
 
+
 shocks;
 var e_a; stderr 0.014;
 var e_m; stderr 0.005;
diff --git a/tests/fs2000/fs2000_dseries_a.mod b/tests/fs2000/fs2000_dseries_a.mod
index 1210e7425ccde79a2a5b5be3854651584def469c..aec807b04d652ae75557002c003416f4e9f27194 100644
--- a/tests/fs2000/fs2000_dseries_a.mod
+++ b/tests/fs2000/fs2000_dseries_a.mod
@@ -30,23 +30,33 @@ gy_obs = dA*y/y(-1);
 gp_obs = (P/P(-1))*m(-1)/dA;
 end;
 
-initval;
-k = 6;
-m = mst;
-P = 2.25;
-c = 0.45;
-e = 1;
-W = 4;
-R = 1.02;
-d = 0.85;
-n = 0.19;
-l = 0.86;
-y = 0.6;
-gy_obs = exp(gam);
-gp_obs = exp(-gam);
-dA = exp(gam);
+steady_state_model;
+  dA = exp(gam);
+  gst = 1/dA;
+  m = mst;
+  khst = ( (1-gst*bet*(1-del)) / (alp*gst^alp*bet) )^(1/(alp-1));
+  xist = ( ((khst*gst)^alp - (1-gst*(1-del))*khst)/mst )^(-1);
+  nust = psi*mst^2/( (1-alp)*(1-psi)*bet*gst^alp*khst^alp );
+  n  = xist/(nust+xist);
+  P  = xist + nust;
+  k  = khst*n;
+
+  l  = psi*mst*n/( (1-psi)*(1-n) );
+  c  = mst/P;
+  d  = l - mst + 1;
+  y  = k^alp*n^(1-alp)*gst^alp;
+  R  = mst/bet;
+  W  = l/n;
+  ist  = y-c;
+  q  = 1 - d;
+
+  e = 1;
+  
+  gp_obs = m/dA;
+  gy_obs = dA;
 end;
 
+
 shocks;
 var e_a; stderr 0.014;
 var e_m; stderr 0.005;
diff --git a/tests/fs2000/fs2000_dseries_b.mod b/tests/fs2000/fs2000_dseries_b.mod
index c2e31087ca56e2486a14351a5b85fb85535e40d3..18759c6857e9489bfc42e53cf1fb0fa44e64aadd 100644
--- a/tests/fs2000/fs2000_dseries_b.mod
+++ b/tests/fs2000/fs2000_dseries_b.mod
@@ -30,23 +30,33 @@ gy_obs = dA*y/y(-1);
 gp_obs = (P/P(-1))*m(-1)/dA;
 end;
 
-initval;
-k = 6;
-m = mst;
-P = 2.25;
-c = 0.45;
-e = 1;
-W = 4;
-R = 1.02;
-d = 0.85;
-n = 0.19;
-l = 0.86;
-y = 0.6;
-gy_obs = exp(gam);
-gp_obs = exp(-gam);
-dA = exp(gam);
+steady_state_model;
+  dA = exp(gam);
+  gst = 1/dA;
+  m = mst;
+  khst = ( (1-gst*bet*(1-del)) / (alp*gst^alp*bet) )^(1/(alp-1));
+  xist = ( ((khst*gst)^alp - (1-gst*(1-del))*khst)/mst )^(-1);
+  nust = psi*mst^2/( (1-alp)*(1-psi)*bet*gst^alp*khst^alp );
+  n  = xist/(nust+xist);
+  P  = xist + nust;
+  k  = khst*n;
+
+  l  = psi*mst*n/( (1-psi)*(1-n) );
+  c  = mst/P;
+  d  = l - mst + 1;
+  y  = k^alp*n^(1-alp)*gst^alp;
+  R  = mst/bet;
+  W  = l/n;
+  ist  = y-c;
+  q  = 1 - d;
+
+  e = 1;
+  
+  gp_obs = m/dA;
+  gy_obs = dA;
 end;
 
+
 shocks;
 var e_a; stderr 0.014;
 var e_m; stderr 0.005;
diff --git a/tests/fs2000/fs2000_missing_data.mod b/tests/fs2000/fs2000_missing_data.mod
index 1c02fd45657b8041ca8ec4fb916df1b2c494c293..2ef89c2b8ed29d679c708afb80fe7b39b9a4b2f3 100644
--- a/tests/fs2000/fs2000_missing_data.mod
+++ b/tests/fs2000/fs2000_missing_data.mod
@@ -30,23 +30,33 @@ gy_obs = dA*y/y(-1);
 gp_obs = (P/P(-1))*m(-1)/dA;
 end;
 
-initval;
-k = 6;
-m = mst;
-P = 2.25;
-c = 0.45;
-e = 1;
-W = 4;
-R = 1.02;
-d = 0.85;
-n = 0.19;
-l = 0.86;
-y = 0.6;
-gy_obs = exp(gam);
-gp_obs = exp(-gam);
-dA = exp(gam);
+steady_state_model;
+  dA = exp(gam);
+  gst = 1/dA;
+  m = mst;
+  khst = ( (1-gst*bet*(1-del)) / (alp*gst^alp*bet) )^(1/(alp-1));
+  xist = ( ((khst*gst)^alp - (1-gst*(1-del))*khst)/mst )^(-1);
+  nust = psi*mst^2/( (1-alp)*(1-psi)*bet*gst^alp*khst^alp );
+  n  = xist/(nust+xist);
+  P  = xist + nust;
+  k  = khst*n;
+
+  l  = psi*mst*n/( (1-psi)*(1-n) );
+  c  = mst/P;
+  d  = l - mst + 1;
+  y  = k^alp*n^(1-alp)*gst^alp;
+  R  = mst/bet;
+  W  = l/n;
+  ist  = y-c;
+  q  = 1 - d;
+
+  e = 1;
+  
+  gp_obs = m/dA;
+  gy_obs = dA;
 end;
 
+
 shocks;
 var e_a; stderr 0.014;
 var e_m; stderr 0.005;
diff --git a/tests/fs2000/fs2000_particle.mod b/tests/fs2000/fs2000_particle.mod
index 82f8e4179ac16d977519ce6f7ffcf55b2a23f6cb..05ad37c3aaab70f3a73013a8af3f065666cf6eed 100644
--- a/tests/fs2000/fs2000_particle.mod
+++ b/tests/fs2000/fs2000_particle.mod
@@ -30,21 +30,30 @@ gy_obs = dA*y/y(-1);
 gp_obs = (P/P(-1))*m(-1)/dA;
 end;
 
-initval;
-k = 6;
-m = mst;
-P = 2.25;
-c = 0.45;
-e = 1;
-W = 4;
-R = 1.02;
-d = 0.85;
-n = 0.19;
-l = 0.86;
-y = 0.6;
-gy_obs = exp(gam);
-gp_obs = exp(-gam);
-dA = exp(gam);
+steady_state_model;
+  dA = exp(gam);
+  gst = 1/dA;
+  m = mst;
+  khst = ( (1-gst*bet*(1-del)) / (alp*gst^alp*bet) )^(1/(alp-1));
+  xist = ( ((khst*gst)^alp - (1-gst*(1-del))*khst)/mst )^(-1);
+  nust = psi*mst^2/( (1-alp)*(1-psi)*bet*gst^alp*khst^alp );
+  n  = xist/(nust+xist);
+  P  = xist + nust;
+  k  = khst*n;
+
+  l  = psi*mst*n/( (1-psi)*(1-n) );
+  c  = mst/P;
+  d  = l - mst + 1;
+  y  = k^alp*n^(1-alp)*gst^alp;
+  R  = mst/bet;
+  W  = l/n;
+  ist  = y-c;
+  q  = 1 - d;
+
+  e = 1;
+  
+  gp_obs = m/dA;
+  gy_obs = dA;
 end;
 
 shocks;
diff --git a/tests/fs2000/fs2000_sd.mod b/tests/fs2000/fs2000_sd.mod
index 3f517398dd2616282ecdb8c5e845a7274bab244d..a3f556c55fcd80c87eebf8389d582eb8e99d87ba 100644
--- a/tests/fs2000/fs2000_sd.mod
+++ b/tests/fs2000/fs2000_sd.mod
@@ -30,21 +30,30 @@ gy_obs = dA*y/y(-1);
 gp_obs = (P/P(-1))*m(-1)/dA;
 end;
 
-initval;
-k = 6;
-m = mst;
-P = 2.25;
-c = 0.45;
-e = 1;
-W = 4;
-R = 1.02;
-d = 0.85;
-n = 0.19;
-l = 0.86;
-y = 0.6;
-gy_obs = exp(gam);
-gp_obs = exp(-gam);
-dA = exp(gam);
+steady_state_model;
+  dA = exp(gam);
+  gst = 1/dA;
+  m = mst;
+  khst = ( (1-gst*bet*(1-del)) / (alp*gst^alp*bet) )^(1/(alp-1));
+  xist = ( ((khst*gst)^alp - (1-gst*(1-del))*khst)/mst )^(-1);
+  nust = psi*mst^2/( (1-alp)*(1-psi)*bet*gst^alp*khst^alp );
+  n  = xist/(nust+xist);
+  P  = xist + nust;
+  k  = khst*n;
+
+  l  = psi*mst*n/( (1-psi)*(1-n) );
+  c  = mst/P;
+  d  = l - mst + 1;
+  y  = k^alp*n^(1-alp)*gst^alp;
+  R  = mst/bet;
+  W  = l/n;
+  ist  = y-c;
+  q  = 1 - d;
+
+  e = 1;
+  
+  gp_obs = m/dA;
+  gy_obs = dA;
 end;
 
 shocks;
diff --git a/tests/fs2000/fs2000a.mod b/tests/fs2000/fs2000a.mod
index 783ecb71d966502ebf7a92684b6bb0b021764725..210417e4f6e73f4d9ec7f0d0df79b9f917a5d67a 100644
--- a/tests/fs2000/fs2000a.mod
+++ b/tests/fs2000/fs2000a.mod
@@ -33,21 +33,32 @@ Y_obs/Y_obs(-1) = gy_obs;
 P_obs/P_obs(-1) = gp_obs;
 end;
 
-initval;
-k = 6;
-m = mst;
-P = 2.25;
-c = 0.45;
-e = 1;
-W = 4;
-R = 1.02;
-d = 0.85;
-n = 0.19;
-l = 0.86;
-y = 0.6;
-gy_obs = exp(gam);
-gp_obs = exp(-gam);
-dA = exp(gam);
+steady_state_model;
+  dA = exp(gam);
+  gst = 1/dA;
+  m = mst;
+  khst = ( (1-gst*bet*(1-del)) / (alp*gst^alp*bet) )^(1/(alp-1));
+  xist = ( ((khst*gst)^alp - (1-gst*(1-del))*khst)/mst )^(-1);
+  nust = psi*mst^2/( (1-alp)*(1-psi)*bet*gst^alp*khst^alp );
+  n  = xist/(nust+xist);
+  P  = xist + nust;
+  k  = khst*n;
+
+  l  = psi*mst*n/( (1-psi)*(1-n) );
+  c  = mst/P;
+  d  = l - mst + 1;
+  y  = k^alp*n^(1-alp)*gst^alp;
+  R  = mst/bet;
+  W  = l/n;
+  ist  = y-c;
+  q  = 1 - d;
+
+  e = 1;
+  
+  gy_obs = exp(gam);
+  gp_obs = exp(-gam);
+  Y_obs=gy_obs;
+  P_obs=gp_obs;
 end;
 
 shocks;
diff --git a/tests/fs2000/fs2000a_steadystate.m b/tests/fs2000/fs2000a_steadystate.m
deleted file mode 100644
index 0692f23e0433b2837c98f0c6c95c2c4edcafaff3..0000000000000000000000000000000000000000
--- a/tests/fs2000/fs2000a_steadystate.m
+++ /dev/null
@@ -1,60 +0,0 @@
-% computes the steady state of fs2000 analyticaly
-% largely inspired by the program of F. Schorfheide
-function [ys,check] = fs2000a_steadystate(ys,exe)
-  global M_
-  
-  alp = M_.params(1); 
-  bet = M_.params(2); 
-  gam = M_.params(3); 
-  mst = M_.params(4); 
-  rho = M_.params(5); 
-  psi = M_.params(6); 
-  del = M_.params(7); 
-
-  check = 0;
-  
-  dA = exp(gam);
-  gst = 1/dA;
-  m = mst;
-  
-  khst = ( (1-gst*bet*(1-del)) / (alp*gst^alp*bet) )^(1/(alp-1));
-  xist = ( ((khst*gst)^alp - (1-gst*(1-del))*khst)/mst )^(-1);
-  nust = psi*mst^2/( (1-alp)*(1-psi)*bet*gst^alp*khst^alp );
-  n  = xist/(nust+xist);
-  P  = xist + nust;
-  k  = khst*n;
-
-  l  = psi*mst*n/( (1-psi)*(1-n) );
-  c  = mst/P;
-  d  = l - mst + 1;
-  y  = k^alp*n^(1-alp)*gst^alp;
-  R  = mst/bet;
-  W  = l/n;
-  ist  = y-c;
-  q  = 1 - d;
-
-  e = 1;
-  
-  gp_obs = m/dA;
-  gy_obs = dA;
-  
-  P_obs = 1;
-  Y_obs = 1;
-  
-  ys =[
-m     
-P     
-c     
-e     
-W     
-R     
-k     
-d     
-n     
-l     
-gy_obs
-gp_obs
-Y_obs 
-P_obs 
-y     
-dA          ];
\ No newline at end of file
diff --git a/tests/fs2000/fs2000c.mod b/tests/fs2000/fs2000c.mod
index c7518083b951c7f71f1ae1ff8bc5f6f069b3300a..76e71a9c40adb4cc226b5aef6fe66cae2874e6b0 100644
--- a/tests/fs2000/fs2000c.mod
+++ b/tests/fs2000/fs2000c.mod
@@ -35,18 +35,27 @@ M-M(-1)+d = l;
 y = k(-1)^alp*(A*n)^(1-alp);
 end;
 
-initval;
-k = 6;
-gM = mst;
-P = 2.25;
-c = 0.45;
-W = 4;
-R = 1.02;
-d = 0.85;
-n = 0.19;
-l = 0.86;
-y = 0.6;
-gA = exp(gam);
+steady_state_model;
+  gA = exp(gam);
+  gst = 1/gA;
+  gM = mst;
+  khst = ( (1-gst*bet*(1-del)) / (alp*gst^alp*bet) )^(1/(alp-1));
+  xist = ( ((khst*gst)^alp - (1-gst*(1-del))*khst)/mst )^(-1);
+  nust = psi*mst^2/( (1-alp)*(1-psi)*bet*gst^alp*khst^alp );
+  n  = xist/(nust+xist);
+  P  = xist + nust;
+  k  = khst*n;
+
+  l  = psi*mst*n/( (1-psi)*(1-n) );
+  c  = mst/P;
+  d  = l - mst + 1;
+  y  = k^alp*n^(1-alp)*gst^alp;
+  R  = mst/bet;
+  W  = l/n;
+  ist  = y-c;
+  q  = 1 - d;
+
+  e = 1;
 end;
 
 shocks;
diff --git a/tests/fs2000_nonstationary.mod b/tests/fs2000_nonstationary.mod
index 38546afd22d44c3f459a26d0ad1c2df8457411bf..e26afed2c7f77150e12d0332f774f902d0279125 100644
--- a/tests/fs2000_nonstationary.mod
+++ b/tests/fs2000_nonstationary.mod
@@ -59,18 +59,27 @@ M-M(-1)+d = l;
 y = k(-1)^alp*(A*n)^(1-alp);
 end;
 
-initval;
-k = 6;
-gM = mst;
-P = 2.25;
-c = 0.45;
-W = 4;
-R = 1.02;
-d = 0.85;
-n = 0.19;
-l = 0.86;
-y = 0.6;
-gA = exp(gam);
+steady_state_model;
+  gA = exp(gam);
+  gst = 1/gA;
+  gM = mst;
+  khst = ( (1-gst*bet*(1-del)) / (alp*gst^alp*bet) )^(1/(alp-1));
+  xist = ( ((khst*gst)^alp - (1-gst*(1-del))*khst)/mst )^(-1);
+  nust = psi*mst^2/( (1-alp)*(1-psi)*bet*gst^alp*khst^alp );
+  n  = xist/(nust+xist);
+  P  = xist + nust;
+  k  = khst*n;
+
+  l  = psi*mst*n/( (1-psi)*(1-n) );
+  c  = mst/P;
+  d  = l - mst + 1;
+  y  = k^alp*n^(1-alp)*gst^alp;
+  R  = mst/bet;
+  W  = l/n;
+  ist  = y-c;
+  q  = 1 - d;
+
+  e = 1;
 end;
 
 shocks;
diff --git a/tests/gradient/fs2000_numgrad_13.mod b/tests/gradient/fs2000_numgrad_13.mod
index 26a86c1a381a202664a26a4cb1902f26526a4e94..30be9d985fc7eb051d10a74669fa6f66113f1ef7 100644
--- a/tests/gradient/fs2000_numgrad_13.mod
+++ b/tests/gradient/fs2000_numgrad_13.mod
@@ -28,21 +28,30 @@ gy_obs = dA*y/y(-1);
 gp_obs = (P/P(-1))*m(-1)/dA;
 end;
 
-initval;
-k = 6;
-m = mst;
-P = 2.25;
-c = 0.45;
-e = 1;
-W = 4;
-R = 1.02;
-d = 0.85;
-n = 0.19;
-l = 0.86;
-y = 0.6;
-gy_obs = exp(gam);
-gp_obs = exp(-gam);
-dA = exp(gam);
+steady_state_model;
+  dA = exp(gam);
+  gst = 1/dA;
+  m = mst;
+  khst = ( (1-gst*bet*(1-del)) / (alp*gst^alp*bet) )^(1/(alp-1));
+  xist = ( ((khst*gst)^alp - (1-gst*(1-del))*khst)/mst )^(-1);
+  nust = psi*mst^2/( (1-alp)*(1-psi)*bet*gst^alp*khst^alp );
+  n  = xist/(nust+xist);
+  P  = xist + nust;
+  k  = khst*n;
+
+  l  = psi*mst*n/( (1-psi)*(1-n) );
+  c  = mst/P;
+  d  = l - mst + 1;
+  y  = k^alp*n^(1-alp)*gst^alp;
+  R  = mst/bet;
+  W  = l/n;
+  ist  = y-c;
+  q  = 1 - d;
+
+  e = 1;
+  
+  gp_obs = m/dA;
+  gy_obs = dA;
 end;
 
 shocks;
diff --git a/tests/gradient/fs2000_numgrad_15.mod b/tests/gradient/fs2000_numgrad_15.mod
index a5b90ebeb29d9811f081b098ae72542e8d6462ab..e5a33303199d85291799c11ad3ad9852ff19551d 100644
--- a/tests/gradient/fs2000_numgrad_15.mod
+++ b/tests/gradient/fs2000_numgrad_15.mod
@@ -28,21 +28,30 @@ gy_obs = dA*y/y(-1);
 gp_obs = (P/P(-1))*m(-1)/dA;
 end;
 
-initval;
-k = 6;
-m = mst;
-P = 2.25;
-c = 0.45;
-e = 1;
-W = 4;
-R = 1.02;
-d = 0.85;
-n = 0.19;
-l = 0.86;
-y = 0.6;
-gy_obs = exp(gam);
-gp_obs = exp(-gam);
-dA = exp(gam);
+steady_state_model;
+  dA = exp(gam);
+  gst = 1/dA;
+  m = mst;
+  khst = ( (1-gst*bet*(1-del)) / (alp*gst^alp*bet) )^(1/(alp-1));
+  xist = ( ((khst*gst)^alp - (1-gst*(1-del))*khst)/mst )^(-1);
+  nust = psi*mst^2/( (1-alp)*(1-psi)*bet*gst^alp*khst^alp );
+  n  = xist/(nust+xist);
+  P  = xist + nust;
+  k  = khst*n;
+
+  l  = psi*mst*n/( (1-psi)*(1-n) );
+  c  = mst/P;
+  d  = l - mst + 1;
+  y  = k^alp*n^(1-alp)*gst^alp;
+  R  = mst/bet;
+  W  = l/n;
+  ist  = y-c;
+  q  = 1 - d;
+
+  e = 1;
+  
+  gp_obs = m/dA;
+  gy_obs = dA;
 end;
 
 shocks;
diff --git a/tests/gradient/fs2000_numgrad_2.mod b/tests/gradient/fs2000_numgrad_2.mod
index c58a57a7000002d6c52b6332ce021c526b5e18ce..3b022b1475b285e2ccad8c182ba587d68257297f 100644
--- a/tests/gradient/fs2000_numgrad_2.mod
+++ b/tests/gradient/fs2000_numgrad_2.mod
@@ -28,21 +28,30 @@ gy_obs = dA*y/y(-1);
 gp_obs = (P/P(-1))*m(-1)/dA;
 end;
 
-initval;
-k = 6;
-m = mst;
-P = 2.25;
-c = 0.45;
-e = 1;
-W = 4;
-R = 1.02;
-d = 0.85;
-n = 0.19;
-l = 0.86;
-y = 0.6;
-gy_obs = exp(gam);
-gp_obs = exp(-gam);
-dA = exp(gam);
+steady_state_model;
+  dA = exp(gam);
+  gst = 1/dA;
+  m = mst;
+  khst = ( (1-gst*bet*(1-del)) / (alp*gst^alp*bet) )^(1/(alp-1));
+  xist = ( ((khst*gst)^alp - (1-gst*(1-del))*khst)/mst )^(-1);
+  nust = psi*mst^2/( (1-alp)*(1-psi)*bet*gst^alp*khst^alp );
+  n  = xist/(nust+xist);
+  P  = xist + nust;
+  k  = khst*n;
+
+  l  = psi*mst*n/( (1-psi)*(1-n) );
+  c  = mst/P;
+  d  = l - mst + 1;
+  y  = k^alp*n^(1-alp)*gst^alp;
+  R  = mst/bet;
+  W  = l/n;
+  ist  = y-c;
+  q  = 1 - d;
+
+  e = 1;
+  
+  gp_obs = m/dA;
+  gy_obs = dA;
 end;
 
 shocks;
diff --git a/tests/gradient/fs2000_numgrad_3.mod b/tests/gradient/fs2000_numgrad_3.mod
index 05a55e1bb0337506981385b86730eda1adf11c77..36769fa1608597a5e3cc30512192946819013051 100644
--- a/tests/gradient/fs2000_numgrad_3.mod
+++ b/tests/gradient/fs2000_numgrad_3.mod
@@ -28,21 +28,30 @@ gy_obs = dA*y/y(-1);
 gp_obs = (P/P(-1))*m(-1)/dA;
 end;
 
-initval;
-k = 6;
-m = mst;
-P = 2.25;
-c = 0.45;
-e = 1;
-W = 4;
-R = 1.02;
-d = 0.85;
-n = 0.19;
-l = 0.86;
-y = 0.6;
-gy_obs = exp(gam);
-gp_obs = exp(-gam);
-dA = exp(gam);
+steady_state_model;
+  dA = exp(gam);
+  gst = 1/dA;
+  m = mst;
+  khst = ( (1-gst*bet*(1-del)) / (alp*gst^alp*bet) )^(1/(alp-1));
+  xist = ( ((khst*gst)^alp - (1-gst*(1-del))*khst)/mst )^(-1);
+  nust = psi*mst^2/( (1-alp)*(1-psi)*bet*gst^alp*khst^alp );
+  n  = xist/(nust+xist);
+  P  = xist + nust;
+  k  = khst*n;
+
+  l  = psi*mst*n/( (1-psi)*(1-n) );
+  c  = mst/P;
+  d  = l - mst + 1;
+  y  = k^alp*n^(1-alp)*gst^alp;
+  R  = mst/bet;
+  W  = l/n;
+  ist  = y-c;
+  q  = 1 - d;
+
+  e = 1;
+  
+  gp_obs = m/dA;
+  gy_obs = dA;
 end;
 
 shocks;
diff --git a/tests/gradient/fs2000_numgrad_5.mod b/tests/gradient/fs2000_numgrad_5.mod
index 302eaecccc3d59c9654dfa4f10e74d9ada197f0a..2dd38282de0b9afee69c689a3e12d8b7a7442588 100644
--- a/tests/gradient/fs2000_numgrad_5.mod
+++ b/tests/gradient/fs2000_numgrad_5.mod
@@ -28,21 +28,30 @@ gy_obs = dA*y/y(-1);
 gp_obs = (P/P(-1))*m(-1)/dA;
 end;
 
-initval;
-k = 6;
-m = mst;
-P = 2.25;
-c = 0.45;
-e = 1;
-W = 4;
-R = 1.02;
-d = 0.85;
-n = 0.19;
-l = 0.86;
-y = 0.6;
-gy_obs = exp(gam);
-gp_obs = exp(-gam);
-dA = exp(gam);
+steady_state_model;
+  dA = exp(gam);
+  gst = 1/dA;
+  m = mst;
+  khst = ( (1-gst*bet*(1-del)) / (alp*gst^alp*bet) )^(1/(alp-1));
+  xist = ( ((khst*gst)^alp - (1-gst*(1-del))*khst)/mst )^(-1);
+  nust = psi*mst^2/( (1-alp)*(1-psi)*bet*gst^alp*khst^alp );
+  n  = xist/(nust+xist);
+  P  = xist + nust;
+  k  = khst*n;
+
+  l  = psi*mst*n/( (1-psi)*(1-n) );
+  c  = mst/P;
+  d  = l - mst + 1;
+  y  = k^alp*n^(1-alp)*gst^alp;
+  R  = mst/bet;
+  W  = l/n;
+  ist  = y-c;
+  q  = 1 - d;
+
+  e = 1;
+  
+  gp_obs = m/dA;
+  gy_obs = dA;
 end;
 
 shocks;
diff --git a/tests/identification/as2007/as2007_steadystate.m b/tests/identification/as2007/as2007_steadystate.m
index 5d45f2c2cdb839d5db05eae0238d2d9412b16b68..473207a0ba9d26725a741e7463103b05f0b9c874 100644
--- a/tests/identification/as2007/as2007_steadystate.m
+++ b/tests/identification/as2007/as2007_steadystate.m
@@ -1,6 +1,6 @@
-function [ys,check1]=as2007_steadystate(junk, ys)
+function [ys,check1]=as2007_steadystate(ys,exo)
 
-global M_ options_
+global M_
 
 for j=1:size(M_.param_names,1)
   eval([deblank(M_.param_names(j,:)),' = M_.params(j);'])
@@ -21,12 +21,14 @@ YGR=gam_steady;
 INFL = pi_steady;
 INT = pi_steady+rr_steady+4*gam_steady;
 
-ys=[
-pie 
-y 
-R 
-g 
-z 
-YGR 
-INFL
-INT];
\ No newline at end of file
+%% end own model equations
+
+for iter = 1:length(M_.params) %update parameters set in the file
+  eval([ 'M_.params(' num2str(iter) ') = ' M_.param_names(iter,:) ';' ])
+end
+
+NumberOfEndogenousVariables = M_.orig_endo_nbr; %auxiliary variables are set automatically
+for ii = 1:NumberOfEndogenousVariables
+  varname = deblank(M_.endo_names(ii,:));
+  eval(['ys(' int2str(ii) ') = ' varname ';']);
+end
diff --git a/tests/identification/kim/kim2_steadystate.m b/tests/identification/kim/kim2_steadystate.m
index 3801dd3502fcdbd456f6ab9963df5d23e27b37dd..ffbd641ed6bbd7bd581a6bcedd7c6c60c49afb87 100644
--- a/tests/identification/kim/kim2_steadystate.m
+++ b/tests/identification/kim/kim2_steadystate.m
@@ -1,6 +1,6 @@
-function [ys,check1]=kim2_steadystate(junk, ys)
+function [ys,check1]=kim2_steadystate(ys,exo)
 
-global M_ options_
+global M_ 
 
 for j=1:size(M_.param_names,1)
   eval([deblank(M_.param_names(j,:)),' = M_.params(j);'])
@@ -19,10 +19,14 @@ i=delta*k;
 c=(((a*k^alph)^(1+theta)-s*(i/s)^(1+theta))/(1-s))^(1/(1+theta))*(1-s);
 lam = (1-s)^theta/c^(1+theta)/(1+theta);
 
-ys=[
-  c
-  k
-  i
-  a
-  lam
-  ];
\ No newline at end of file
+%% end own model equations
+
+for iter = 1:length(M_.params) %update parameters set in the file
+  eval([ 'M_.params(' num2str(iter) ') = ' M_.param_names(iter,:) ';' ])
+end
+
+NumberOfEndogenousVariables = M_.orig_endo_nbr; %auxiliary variables are set automatically
+for ii = 1:NumberOfEndogenousVariables
+  varname = deblank(M_.endo_names(ii,:));
+  eval(['ys(' int2str(ii) ') = ' varname ';']);
+end
diff --git a/tests/k_order_perturbation/fs2000k2_m.mod b/tests/k_order_perturbation/fs2000k2_m.mod
index 8d7a606aef1ab8c8c87532f0a92166b7ded9bd93..e205f375e32fff84a95653b3e81c499472a4bb09 100644
--- a/tests/k_order_perturbation/fs2000k2_m.mod
+++ b/tests/k_order_perturbation/fs2000k2_m.mod
@@ -31,21 +31,30 @@ gy_obs = dA*y/y(-1);
 gp_obs = (P/P(-1))*m(-1)/dA;
 end;
 
-initval;
-m = mst;
-P = 2.25;
-c = 0.45;
-e = 1;
-W = 4;
-R = 1.02;
-k = 6;
-d = 0.85;
-n = 0.19;
-l = 0.86;
-y = 0.6;
-gy_obs = exp(gam);
-gp_obs = exp(-gam); 
-dA = exp(gam);
+steady_state_model;
+  dA = exp(gam);
+  gst = 1/dA;
+  m = mst;
+  khst = ( (1-gst*bet*(1-del)) / (alp*gst^alp*bet) )^(1/(alp-1));
+  xist = ( ((khst*gst)^alp - (1-gst*(1-del))*khst)/mst )^(-1);
+  nust = psi*mst^2/( (1-alp)*(1-psi)*bet*gst^alp*khst^alp );
+  n  = xist/(nust+xist);
+  P  = xist + nust;
+  k  = khst*n;
+
+  l  = psi*mst*n/( (1-psi)*(1-n) );
+  c  = mst/P;
+  d  = l - mst + 1;
+  y  = k^alp*n^(1-alp)*gst^alp;
+  R  = mst/bet;
+  W  = l/n;
+  ist  = y-c;
+  q  = 1 - d;
+
+  e = 1;
+  
+  gp_obs = m/dA;
+  gy_obs = dA;
 end;
 
 shocks;
diff --git a/tests/k_order_perturbation/fs2000k2_use_dll.mod b/tests/k_order_perturbation/fs2000k2_use_dll.mod
index af7f2fb52d4fd7f1c065bb2de99145b3085b52f2..177d7aa402fc5340c66b33a0bfb6e498f5aefaa7 100644
--- a/tests/k_order_perturbation/fs2000k2_use_dll.mod
+++ b/tests/k_order_perturbation/fs2000k2_use_dll.mod
@@ -31,21 +31,30 @@ gy_obs = dA*y/y(-1);
 gp_obs = (P/P(-1))*m(-1)/dA;
 end;
 
-initval;
-m = mst;
-P = 2.25;
-c = 0.45;
-e = 1;
-W = 4;
-R = 1.02;
-k = 6;
-d = 0.85;
-n = 0.19;
-l = 0.86;
-y = 0.6;
-gy_obs = exp(gam);
-gp_obs = exp(-gam); 
-dA = exp(gam);
+steady_state_model;
+  dA = exp(gam);
+  gst = 1/dA;
+  m = mst;
+  khst = ( (1-gst*bet*(1-del)) / (alp*gst^alp*bet) )^(1/(alp-1));
+  xist = ( ((khst*gst)^alp - (1-gst*(1-del))*khst)/mst )^(-1);
+  nust = psi*mst^2/( (1-alp)*(1-psi)*bet*gst^alp*khst^alp );
+  n  = xist/(nust+xist);
+  P  = xist + nust;
+  k  = khst*n;
+
+  l  = psi*mst*n/( (1-psi)*(1-n) );
+  c  = mst/P;
+  d  = l - mst + 1;
+  y  = k^alp*n^(1-alp)*gst^alp;
+  R  = mst/bet;
+  W  = l/n;
+  ist  = y-c;
+  q  = 1 - d;
+
+  e = 1;
+  
+  gp_obs = m/dA;
+  gy_obs = dA;
 end;
 
 shocks;
diff --git a/tests/k_order_perturbation/fs2000k2a.mod b/tests/k_order_perturbation/fs2000k2a.mod
index de811d2f6cca36bcf3922e69ca41aff3fab1c565..362fc4d947e045cdeb8e739662ab2650c176d267 100644
--- a/tests/k_order_perturbation/fs2000k2a.mod
+++ b/tests/k_order_perturbation/fs2000k2a.mod
@@ -31,21 +31,30 @@ gy_obs = dA*y/y(-1);
 gp_obs = (P/P(-1))*m(-1)/dA;
 end;
 
-initval;
-m = mst;
-P = 2.25;
-c = 0.45;
-e = 1;
-W = 4;
-R = 1.02;
-k = 6;
-d = 0.85;
-n = 0.19;
-l = 0.86;
-y = 0.6;
-gy_obs = exp(gam);
-gp_obs = exp(-gam); 
-dA = exp(gam);
+steady_state_model;
+  dA = exp(gam);
+  gst = 1/dA;
+  m = mst;
+  khst = ( (1-gst*bet*(1-del)) / (alp*gst^alp*bet) )^(1/(alp-1));
+  xist = ( ((khst*gst)^alp - (1-gst*(1-del))*khst)/mst )^(-1);
+  nust = psi*mst^2/( (1-alp)*(1-psi)*bet*gst^alp*khst^alp );
+  n  = xist/(nust+xist);
+  P  = xist + nust;
+  k  = khst*n;
+
+  l  = psi*mst*n/( (1-psi)*(1-n) );
+  c  = mst/P;
+  d  = l - mst + 1;
+  y  = k^alp*n^(1-alp)*gst^alp;
+  R  = mst/bet;
+  W  = l/n;
+  ist  = y-c;
+  q  = 1 - d;
+
+  e = 1;
+  
+  gp_obs = m/dA;
+  gy_obs = dA;
 end;
 
 shocks;
diff --git a/tests/k_order_perturbation/fs2000k3_m.mod b/tests/k_order_perturbation/fs2000k3_m.mod
index a3130b1412b7a87fe83aaed8e3bce8f20358370d..617d821c75982f659c02f74899218e93aa007b9d 100644
--- a/tests/k_order_perturbation/fs2000k3_m.mod
+++ b/tests/k_order_perturbation/fs2000k3_m.mod
@@ -30,21 +30,30 @@ gy_obs = dA*y/y(-1);
 gp_obs = (P/P(-1))*m(-1)/dA;
 end;
 
-initval;
-m = mst;
-P = 2.25;
-c = 0.45;
-e = 1;
-W = 4;
-R = 1.02;
-k = 6;
-d = 0.85;
-n = 0.19;
-l = 0.86;
-y = 0.6;
-gy_obs = exp(gam);
-gp_obs = exp(-gam); 
-dA = exp(gam);
+steady_state_model;
+  dA = exp(gam);
+  gst = 1/dA;
+  m = mst;
+  khst = ( (1-gst*bet*(1-del)) / (alp*gst^alp*bet) )^(1/(alp-1));
+  xist = ( ((khst*gst)^alp - (1-gst*(1-del))*khst)/mst )^(-1);
+  nust = psi*mst^2/( (1-alp)*(1-psi)*bet*gst^alp*khst^alp );
+  n  = xist/(nust+xist);
+  P  = xist + nust;
+  k  = khst*n;
+
+  l  = psi*mst*n/( (1-psi)*(1-n) );
+  c  = mst/P;
+  d  = l - mst + 1;
+  y  = k^alp*n^(1-alp)*gst^alp;
+  R  = mst/bet;
+  W  = l/n;
+  ist  = y-c;
+  q  = 1 - d;
+
+  e = 1;
+  
+  gp_obs = m/dA;
+  gy_obs = dA;
 end;
 
 shocks;
diff --git a/tests/k_order_perturbation/fs2000k3_p.mod b/tests/k_order_perturbation/fs2000k3_p.mod
index 2d0c6bff12d3a967888e5003a26bb600c69533e8..234d53db8dcd56b4ee9421f9d6bf8c12476a6531 100644
--- a/tests/k_order_perturbation/fs2000k3_p.mod
+++ b/tests/k_order_perturbation/fs2000k3_p.mod
@@ -30,21 +30,30 @@ gy_obs = dA*y/y(-1);
 gp_obs = (P/P(-1))*m(-1)/dA;
 end;
 
-initval;
-m = mst;
-P = 2.25;
-c = 0.45;
-e = 1;
-W = 4;
-R = 1.02;
-k = 6;
-d = 0.85;
-n = 0.19;
-l = 0.86;
-y = 0.6;
-gy_obs = exp(gam);
-gp_obs = exp(-gam); 
-dA = exp(gam);
+steady_state_model;
+  dA = exp(gam);
+  gst = 1/dA;
+  m = mst;
+  khst = ( (1-gst*bet*(1-del)) / (alp*gst^alp*bet) )^(1/(alp-1));
+  xist = ( ((khst*gst)^alp - (1-gst*(1-del))*khst)/mst )^(-1);
+  nust = psi*mst^2/( (1-alp)*(1-psi)*bet*gst^alp*khst^alp );
+  n  = xist/(nust+xist);
+  P  = xist + nust;
+  k  = khst*n;
+
+  l  = psi*mst*n/( (1-psi)*(1-n) );
+  c  = mst/P;
+  d  = l - mst + 1;
+  y  = k^alp*n^(1-alp)*gst^alp;
+  R  = mst/bet;
+  W  = l/n;
+  ist  = y-c;
+  q  = 1 - d;
+
+  e = 1;
+  
+  gp_obs = m/dA;
+  gy_obs = dA;
 end;
 
 shocks;
diff --git a/tests/k_order_perturbation/fs2000k3_use_dll.mod b/tests/k_order_perturbation/fs2000k3_use_dll.mod
index e7c20152239567307bcb0f3eee950509704e5ea2..9dc84afb5037f5bac28957ae3c2e35a6aa4d23d7 100644
--- a/tests/k_order_perturbation/fs2000k3_use_dll.mod
+++ b/tests/k_order_perturbation/fs2000k3_use_dll.mod
@@ -30,21 +30,30 @@ gy_obs = dA*y/y(-1);
 gp_obs = (P/P(-1))*m(-1)/dA;
 end;
 
-initval;
-m = mst;
-P = 2.25;
-c = 0.45;
-e = 1;
-W = 4;
-R = 1.02;
-k = 6;
-d = 0.85;
-n = 0.19;
-l = 0.86;
-y = 0.6;
-gy_obs = exp(gam);
-gp_obs = exp(-gam); 
-dA = exp(gam);
+steady_state_model;
+  dA = exp(gam);
+  gst = 1/dA;
+  m = mst;
+  khst = ( (1-gst*bet*(1-del)) / (alp*gst^alp*bet) )^(1/(alp-1));
+  xist = ( ((khst*gst)^alp - (1-gst*(1-del))*khst)/mst )^(-1);
+  nust = psi*mst^2/( (1-alp)*(1-psi)*bet*gst^alp*khst^alp );
+  n  = xist/(nust+xist);
+  P  = xist + nust;
+  k  = khst*n;
+
+  l  = psi*mst*n/( (1-psi)*(1-n) );
+  c  = mst/P;
+  d  = l - mst + 1;
+  y  = k^alp*n^(1-alp)*gst^alp;
+  R  = mst/bet;
+  W  = l/n;
+  ist  = y-c;
+  q  = 1 - d;
+
+  e = 1;
+  
+  gp_obs = m/dA;
+  gy_obs = dA;
 end;
 
 shocks;
diff --git a/tests/k_order_perturbation/fs2000k_1_m.mod b/tests/k_order_perturbation/fs2000k_1_m.mod
index 80db2ae611a36b33e94c7aed99989811e32838d2..bb5e7f1355517ce2bf7e94312aef943cbf15433e 100644
--- a/tests/k_order_perturbation/fs2000k_1_m.mod
+++ b/tests/k_order_perturbation/fs2000k_1_m.mod
@@ -34,26 +34,36 @@ P_1 = P;
 AUXv = bet*P*(alp*exp(-alp*(gam+log(e)))*k(-1)^(alp-1)*n^(1-alp)+(1-del)*exp(-(gam+log(e))))/(c(+1)*P(+1)*m);
 end;
 
-initval;
-m = mst;
-m_1=mst;
-P = 2.25;
-P_1 = 2.25;
-c = 0.45;
-e = 1;
-W = 4;
-R = 1.02;
-k = 6;
-d = 0.85;
-n = 0.19;
-l = 0.86;
-y = 0.6;
-gy_obs = exp(gam);
-gp_obs = exp(-gam); 
-dA = exp(gam);
-AUXv = 1;
+steady_state_model;
+  dA = exp(gam);
+  gst = 1/dA;
+  m = mst;
+  m_1=mst;
+  khst = ( (1-gst*bet*(1-del)) / (alp*gst^alp*bet) )^(1/(alp-1));
+  xist = ( ((khst*gst)^alp - (1-gst*(1-del))*khst)/mst )^(-1);
+  nust = psi*mst^2/( (1-alp)*(1-psi)*bet*gst^alp*khst^alp );
+  n  = xist/(nust+xist);
+  P  = xist + nust;
+  P_1 = P;
+  k  = khst*n;
+
+  l  = psi*mst*n/( (1-psi)*(1-n) );
+  c  = mst/P;
+  d  = l - mst + 1;
+  y  = k^alp*n^(1-alp)*gst^alp;
+  R  = mst/bet;
+  W  = l/n;
+  ist  = y-c;
+  q  = 1 - d;
+
+  e = 1;
+  
+  gp_obs = m/dA;
+  gy_obs = dA;
+  AUXv = 1/(c*m);
 end;
 
+
 shocks;
 var e_a; stderr 0.014;
 var e_m; stderr 0.005;
diff --git a/tests/k_order_perturbation/fs2000k_1_use_dll.mod b/tests/k_order_perturbation/fs2000k_1_use_dll.mod
index 9c63d2901ce89de23ee3d90036466cb15f658686..a60ef25840f2e18a005f5179a9dd316dde21b380 100644
--- a/tests/k_order_perturbation/fs2000k_1_use_dll.mod
+++ b/tests/k_order_perturbation/fs2000k_1_use_dll.mod
@@ -34,24 +34,33 @@ P_1 = P;
 AUXv = bet*P*(alp*exp(-alp*(gam+log(e)))*k(-1)^(alp-1)*n^(1-alp)+(1-del)*exp(-(gam+log(e))))/(c(+1)*P(+1)*m);
 end;
 
-initval;
-m = mst;
-m_1=mst;
-P = 2.25;
-P_1 = 2.25;
-c = 0.45;
-e = 1;
-W = 4;
-R = 1.02;
-k = 6;
-d = 0.85;
-n = 0.19;
-l = 0.86;
-y = 0.6;
-gy_obs = exp(gam);
-gp_obs = exp(-gam); 
-dA = exp(gam);
-AUXv = 1;
+steady_state_model;
+  dA = exp(gam);
+  gst = 1/dA;
+  m = mst;
+  m_1=mst;
+  khst = ( (1-gst*bet*(1-del)) / (alp*gst^alp*bet) )^(1/(alp-1));
+  xist = ( ((khst*gst)^alp - (1-gst*(1-del))*khst)/mst )^(-1);
+  nust = psi*mst^2/( (1-alp)*(1-psi)*bet*gst^alp*khst^alp );
+  n  = xist/(nust+xist);
+  P  = xist + nust;
+  P_1 = P;
+  k  = khst*n;
+
+  l  = psi*mst*n/( (1-psi)*(1-n) );
+  c  = mst/P;
+  d  = l - mst + 1;
+  y  = k^alp*n^(1-alp)*gst^alp;
+  R  = mst/bet;
+  W  = l/n;
+  ist  = y-c;
+  q  = 1 - d;
+
+  e = 1;
+  
+  gp_obs = m/dA;
+  gy_obs = dA;
+  AUXv = 1/(c*m);
 end;
 
 shocks;
diff --git a/tests/kalman_filter_smoother/fs2000.mod b/tests/kalman_filter_smoother/fs2000.mod
index d56be54b812c33e4b34b800842352e9c0dc1a4ba..7e063133ccf385a1a9a1727bcb6e99072f19b2f6 100644
--- a/tests/kalman_filter_smoother/fs2000.mod
+++ b/tests/kalman_filter_smoother/fs2000.mod
@@ -30,21 +30,30 @@ gy_obs = dA*y/y(-1);
 gp_obs = (P/P(-1))*m(-1)/dA;
 end;
 
-initval;
-k = 6;
-m = mst;
-P = 2.25;
-c = 0.45;
-e = 1;
-W = 4;
-R = 1.02;
-d = 0.85;
-n = 0.19;
-l = 0.86;
-y = 0.6;
-gy_obs = exp(gam);
-gp_obs = exp(-gam);
-dA = exp(gam);
+steady_state_model;
+  dA = exp(gam);
+  gst = 1/dA;
+  m = mst;
+  khst = ( (1-gst*bet*(1-del)) / (alp*gst^alp*bet) )^(1/(alp-1));
+  xist = ( ((khst*gst)^alp - (1-gst*(1-del))*khst)/mst )^(-1);
+  nust = psi*mst^2/( (1-alp)*(1-psi)*bet*gst^alp*khst^alp );
+  n  = xist/(nust+xist);
+  P  = xist + nust;
+  k  = khst*n;
+
+  l  = psi*mst*n/( (1-psi)*(1-n) );
+  c  = mst/P;
+  d  = l - mst + 1;
+  y  = k^alp*n^(1-alp)*gst^alp;
+  R  = mst/bet;
+  W  = l/n;
+  ist  = y-c;
+  q  = 1 - d;
+
+  e = 1;
+  
+  gp_obs = m/dA;
+  gy_obs = dA;
 end;
 
 shocks;
diff --git a/tests/kalman_filter_smoother/fs2000_1.mod b/tests/kalman_filter_smoother/fs2000_1.mod
index 0a8eb3dbd9e8894ebf97430d2e231062bc040fb8..abd32a0f662c3badbe93c54855dc0251484dde6d 100644
--- a/tests/kalman_filter_smoother/fs2000_1.mod
+++ b/tests/kalman_filter_smoother/fs2000_1.mod
@@ -31,21 +31,30 @@ gy_obs = dA*y/y(-1);
 gp_obs = (P/P(-1))*m(-1)/dA;
 end;
 
-initval;
-k = 6;
-m = mst;
-P = 2.25;
-c = 0.45;
-e = 1;
-W = 4;
-R = 1.02;
-d = 0.85;
-n = 0.19;
-l = 0.86;
-y = 0.6;
-gy_obs = exp(gam);
-gp_obs = exp(-gam);
-dA = exp(gam);
+steady_state_model;
+  dA = exp(gam);
+  gst = 1/dA;
+  m = mst;
+  khst = ( (1-gst*bet*(1-del)) / (alp*gst^alp*bet) )^(1/(alp-1));
+  xist = ( ((khst*gst)^alp - (1-gst*(1-del))*khst)/mst )^(-1);
+  nust = psi*mst^2/( (1-alp)*(1-psi)*bet*gst^alp*khst^alp );
+  n  = xist/(nust+xist);
+  P  = xist + nust;
+  k  = khst*n;
+
+  l  = psi*mst*n/( (1-psi)*(1-n) );
+  c  = mst/P;
+  d  = l - mst + 1;
+  y  = k^alp*n^(1-alp)*gst^alp;
+  R  = mst/bet;
+  W  = l/n;
+  ist  = y-c;
+  q  = 1 - d;
+
+  e = 1;
+  
+  gp_obs = m/dA;
+  gy_obs = dA;
 end;
 
 shocks;
diff --git a/tests/kalman_filter_smoother/fs2000_2.mod b/tests/kalman_filter_smoother/fs2000_2.mod
index e6c9de5705edd7f4a42541bab207d18f22d9260c..84981348806a15a0b53f81cae81a346d2e602f9b 100644
--- a/tests/kalman_filter_smoother/fs2000_2.mod
+++ b/tests/kalman_filter_smoother/fs2000_2.mod
@@ -31,21 +31,30 @@ gy_obs = dA*y/y(-1);
 gp_obs = (P/P(-1))*m(-1)/dA;
 end;
 
-initval;
-k = 6;
-m = mst;
-P = 2.25;
-c = 0.45;
-e = 1;
-W = 4;
-R = 1.02;
-d = 0.85;
-n = 0.19;
-l = 0.86;
-y = 0.6;
-gy_obs = exp(gam);
-gp_obs = exp(-gam);
-dA = exp(gam);
+steady_state_model;
+  dA = exp(gam);
+  gst = 1/dA;
+  m = mst;
+  khst = ( (1-gst*bet*(1-del)) / (alp*gst^alp*bet) )^(1/(alp-1));
+  xist = ( ((khst*gst)^alp - (1-gst*(1-del))*khst)/mst )^(-1);
+  nust = psi*mst^2/( (1-alp)*(1-psi)*bet*gst^alp*khst^alp );
+  n  = xist/(nust+xist);
+  P  = xist + nust;
+  k  = khst*n;
+
+  l  = psi*mst*n/( (1-psi)*(1-n) );
+  c  = mst/P;
+  d  = l - mst + 1;
+  y  = k^alp*n^(1-alp)*gst^alp;
+  R  = mst/bet;
+  W  = l/n;
+  ist  = y-c;
+  q  = 1 - d;
+
+  e = 1;
+  
+  gp_obs = m/dA;
+  gy_obs = dA;
 end;
 
 shocks;
diff --git a/tests/kalman_filter_smoother/fs2000_smoother_only.mod b/tests/kalman_filter_smoother/fs2000_smoother_only.mod
index f46f06e2cf88a7cc917b9966317bf6a512dddde3..0efefd1ab0e01ba6223321623320f4c0c9089874 100644
--- a/tests/kalman_filter_smoother/fs2000_smoother_only.mod
+++ b/tests/kalman_filter_smoother/fs2000_smoother_only.mod
@@ -65,21 +65,30 @@ gy_obs = dA*y/y(-1);
 gp_obs = (P/P(-1))*m(-1)/dA;
 end;
 
-initval;
-k = 6;
-m = mst;
-P = 2.25;
-c = 0.45;
-e = 1;
-W = 4;
-R = 1.02;
-d = 0.85;
-n = 0.19;
-l = 0.86;
-y = 0.6;
-gy_obs = exp(gam);
-gp_obs = exp(-gam);
-dA = exp(gam);
+steady_state_model;
+  dA = exp(gam);
+  gst = 1/dA;
+  m = mst;
+  khst = ( (1-gst*bet*(1-del)) / (alp*gst^alp*bet) )^(1/(alp-1));
+  xist = ( ((khst*gst)^alp - (1-gst*(1-del))*khst)/mst )^(-1);
+  nust = psi*mst^2/( (1-alp)*(1-psi)*bet*gst^alp*khst^alp );
+  n  = xist/(nust+xist);
+  P  = xist + nust;
+  k  = khst*n;
+
+  l  = psi*mst*n/( (1-psi)*(1-n) );
+  c  = mst/P;
+  d  = l - mst + 1;
+  y  = k^alp*n^(1-alp)*gst^alp;
+  R  = mst/bet;
+  W  = l/n;
+  ist  = y-c;
+  q  = 1 - d;
+
+  e = 1;
+  
+  gp_obs = m/dA;
+  gy_obs = dA;
 end;
 
 shocks;
diff --git a/tests/kalman_filter_smoother/fs2000a.mod b/tests/kalman_filter_smoother/fs2000a.mod
index 9a636ae01d324c68a343d75ce98d685b2a07dd67..3937844d22d5ac05241ba7d6d688ad04ab459617 100644
--- a/tests/kalman_filter_smoother/fs2000a.mod
+++ b/tests/kalman_filter_smoother/fs2000a.mod
@@ -33,21 +33,32 @@ Y_obs/Y_obs(-1) = gy_obs;
 P_obs/P_obs(-1) = gp_obs;
 end;
 
-initval;
-k = 6;
-m = mst;
-P = 2.25;
-c = 0.45;
-e = 1;
-W = 4;
-R = 1.02;
-d = 0.85;
-n = 0.19;
-l = 0.86;
-y = 0.6;
-gy_obs = exp(gam);
-gp_obs = exp(-gam);
-dA = exp(gam);
+steady_state_model;
+  dA = exp(gam);
+  gst = 1/dA;
+  m = mst;
+  khst = ( (1-gst*bet*(1-del)) / (alp*gst^alp*bet) )^(1/(alp-1));
+  xist = ( ((khst*gst)^alp - (1-gst*(1-del))*khst)/mst )^(-1);
+  nust = psi*mst^2/( (1-alp)*(1-psi)*bet*gst^alp*khst^alp );
+  n  = xist/(nust+xist);
+  P  = xist + nust;
+  k  = khst*n;
+
+  l  = psi*mst*n/( (1-psi)*(1-n) );
+  c  = mst/P;
+  d  = l - mst + 1;
+  y  = k^alp*n^(1-alp)*gst^alp;
+  R  = mst/bet;
+  W  = l/n;
+  ist  = y-c;
+  q  = 1 - d;
+
+  e = 1;
+  
+  gp_obs = m/dA;
+  gy_obs = dA;
+  Y_obs = gy_obs;
+  P_obs = gp_obs;
 end;
 
 shocks;
diff --git a/tests/kalman_filter_smoother/fs2000a_steadystate.m b/tests/kalman_filter_smoother/fs2000a_steadystate.m
deleted file mode 100644
index 0692f23e0433b2837c98f0c6c95c2c4edcafaff3..0000000000000000000000000000000000000000
--- a/tests/kalman_filter_smoother/fs2000a_steadystate.m
+++ /dev/null
@@ -1,60 +0,0 @@
-% computes the steady state of fs2000 analyticaly
-% largely inspired by the program of F. Schorfheide
-function [ys,check] = fs2000a_steadystate(ys,exe)
-  global M_
-  
-  alp = M_.params(1); 
-  bet = M_.params(2); 
-  gam = M_.params(3); 
-  mst = M_.params(4); 
-  rho = M_.params(5); 
-  psi = M_.params(6); 
-  del = M_.params(7); 
-
-  check = 0;
-  
-  dA = exp(gam);
-  gst = 1/dA;
-  m = mst;
-  
-  khst = ( (1-gst*bet*(1-del)) / (alp*gst^alp*bet) )^(1/(alp-1));
-  xist = ( ((khst*gst)^alp - (1-gst*(1-del))*khst)/mst )^(-1);
-  nust = psi*mst^2/( (1-alp)*(1-psi)*bet*gst^alp*khst^alp );
-  n  = xist/(nust+xist);
-  P  = xist + nust;
-  k  = khst*n;
-
-  l  = psi*mst*n/( (1-psi)*(1-n) );
-  c  = mst/P;
-  d  = l - mst + 1;
-  y  = k^alp*n^(1-alp)*gst^alp;
-  R  = mst/bet;
-  W  = l/n;
-  ist  = y-c;
-  q  = 1 - d;
-
-  e = 1;
-  
-  gp_obs = m/dA;
-  gy_obs = dA;
-  
-  P_obs = 1;
-  Y_obs = 1;
-  
-  ys =[
-m     
-P     
-c     
-e     
-W     
-R     
-k     
-d     
-n     
-l     
-gy_obs
-gp_obs
-Y_obs 
-P_obs 
-y     
-dA          ];
\ No newline at end of file
diff --git a/tests/measurement_errors/fs2000_corr_me_ml_mcmc/fs2000_corr_ME.mod b/tests/measurement_errors/fs2000_corr_me_ml_mcmc/fs2000_corr_ME.mod
index b6bdf7bfef3f95ddd7fa047413d75cd5ca8e1dbf..4bc3a3e48ffa5362523bd15584b57097a3a1bdbf 100644
--- a/tests/measurement_errors/fs2000_corr_me_ml_mcmc/fs2000_corr_ME.mod
+++ b/tests/measurement_errors/fs2000_corr_me_ml_mcmc/fs2000_corr_ME.mod
@@ -63,21 +63,30 @@ gy_obs = dA*y/y(-1);
 gp_obs = (P/P(-1))*m(-1)/dA;
 end;
 
-initval;
-k = 6;
-m = mst;
-P = 2.25;
-c = 0.45;
-e = 1;
-W = 4;
-R = 1.02;
-d = 0.85;
-n = 0.19;
-l = 0.86;
-y = 0.6;
-gy_obs = exp(gam);
-gp_obs = exp(-gam);
-dA = exp(gam);
+steady_state_model;
+  dA = exp(gam);
+  gst = 1/dA;
+  m = mst;
+  khst = ( (1-gst*bet*(1-del)) / (alp*gst^alp*bet) )^(1/(alp-1));
+  xist = ( ((khst*gst)^alp - (1-gst*(1-del))*khst)/mst )^(-1);
+  nust = psi*mst^2/( (1-alp)*(1-psi)*bet*gst^alp*khst^alp );
+  n  = xist/(nust+xist);
+  P  = xist + nust;
+  k  = khst*n;
+
+  l  = psi*mst*n/( (1-psi)*(1-n) );
+  c  = mst/P;
+  d  = l - mst + 1;
+  y  = k^alp*n^(1-alp)*gst^alp;
+  R  = mst/bet;
+  W  = l/n;
+  ist  = y-c;
+  q  = 1 - d;
+
+  e = 1;
+  
+  gp_obs = m/dA;
+  gy_obs = dA;
 end;
 
 varobs gp_obs gy_obs;
diff --git a/tests/measurement_errors/fs2000_corr_me_ml_mcmc/fs2000_corr_ME_steadystate.m b/tests/measurement_errors/fs2000_corr_me_ml_mcmc/fs2000_corr_ME_steadystate.m
deleted file mode 100644
index 916373feeb0cfab5a7b2bbbbf7b92dbf036165c4..0000000000000000000000000000000000000000
--- a/tests/measurement_errors/fs2000_corr_me_ml_mcmc/fs2000_corr_ME_steadystate.m
+++ /dev/null
@@ -1,73 +0,0 @@
-% computes the steady state of fs2000 analyticaly
-% largely inspired by the program of F. Schorfheide
-
-% Copyright (C) 2004-2013 Dynare Team
-%
-% This file is part of Dynare.
-%
-% Dynare is free software: you can redistribute it and/or modify
-% it under the terms of the GNU General Public License as published by
-% the Free Software Foundation, either version 3 of the License, or
-% (at your option) any later version.
-%
-% Dynare is distributed in the hope that it will be useful,
-% but WITHOUT ANY WARRANTY; without even the implied warranty of
-% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-% GNU General Public License for more details.
-%
-% You should have received a copy of the GNU General Public License
-% along with Dynare.  If not, see <http://www.gnu.org/licenses/>.
-
-function [ys,check] = fs2000_corr_ME_steadystate(ys,exe)
-  global M_
-  
-  alp = M_.params(1); 
-  bet = M_.params(2); 
-  gam = M_.params(3); 
-  mst = M_.params(4); 
-  rho = M_.params(5); 
-  psi = M_.params(6); 
-  del = M_.params(7); 
-
-  check = 0;
-  
-  dA = exp(gam);
-  gst = 1/dA;
-  m = mst;
-  
-  khst = ( (1-gst*bet*(1-del)) / (alp*gst^alp*bet) )^(1/(alp-1));
-  xist = ( ((khst*gst)^alp - (1-gst*(1-del))*khst)/mst )^(-1);
-  nust = psi*mst^2/( (1-alp)*(1-psi)*bet*gst^alp*khst^alp );
-  n  = xist/(nust+xist);
-  P  = xist + nust;
-  k  = khst*n;
-
-  l  = psi*mst*n/( (1-psi)*(1-n) );
-  c  = mst/P;
-  d  = l - mst + 1;
-  y  = k^alp*n^(1-alp)*gst^alp;
-  R  = mst/bet;
-  W  = l/n;
-  ist  = y-c;
-  q  = 1 - d;
-
-  e = 1;
-  
-  gp_obs = m/dA;
-  gy_obs = dA;
-  
-  ys =[
-m     
-P     
-c     
-e     
-W     
-R     
-k     
-d     
-n     
-l     
-gy_obs
-gp_obs
-y     
-dA          ];
diff --git a/tests/smoother2histval/fs2000_simul.mod b/tests/smoother2histval/fs2000_simul.mod
index 3dcfc5f607ad3c37a11f092d37c75ff61a764b13..1da3842be785a64b61ac068a4d067f8bc15cb79f 100644
--- a/tests/smoother2histval/fs2000_simul.mod
+++ b/tests/smoother2histval/fs2000_simul.mod
@@ -31,21 +31,30 @@ gy_obs = dA*y/y(-2);
 gp_obs = (P/P(-1))*m(-1)/dA;
 end;
 
-initval;
-k = 6;
-m = mst;
-P = 2.25;
-c = 0.45;
-e = 1;
-W = 4;
-R = 1.02;
-d = 0.85;
-n = 0.19;
-l = 0.86;
-y = 0.6;
-gy_obs = exp(gam);
-gp_obs = exp(-gam);
-dA = exp(gam);
+steady_state_model;
+  dA = exp(gam);
+  gst = 1/dA;
+  m = mst;
+  khst = ( (1-gst*bet*(1-del)) / (alp*gst^alp*bet) )^(1/(alp-1));
+  xist = ( ((khst*gst)^alp - (1-gst*(1-del))*khst)/mst )^(-1);
+  nust = psi*mst^2/( (1-alp)*(1-psi)*bet*gst^alp*khst^alp );
+  n  = xist/(nust+xist);
+  P  = xist + nust;
+  k  = khst*n;
+
+  l  = psi*mst*n/( (1-psi)*(1-n) );
+  c  = mst/P;
+  d  = l - mst + 1;
+  y  = k^alp*n^(1-alp)*gst^alp;
+  R  = mst/bet;
+  W  = l/n;
+  ist  = y-c;
+  q  = 1 - d;
+
+  e = 1;
+  
+  gp_obs = m/dA;
+  gy_obs = dA;
 end;
 
 shocks;
diff --git a/tests/smoother2histval/fs2000_smooth.mod b/tests/smoother2histval/fs2000_smooth.mod
index 5f2931f289dd47e5659372a8a1fe05c0509cafe5..89447eb57142ae3933b3fc66d92631f63b381210 100644
--- a/tests/smoother2histval/fs2000_smooth.mod
+++ b/tests/smoother2histval/fs2000_smooth.mod
@@ -31,21 +31,30 @@ gy_obs = dA*y/y(-2);
 gp_obs = (P/P(-1))*m(-1)/dA;
 end;
 
-initval;
-k = 6;
-m = mst;
-P = 2.25;
-c = 0.45;
-e = 1;
-W = 4;
-R = 1.02;
-d = 0.85;
-n = 0.19;
-l = 0.86;
-y = 0.6;
-gy_obs = exp(gam);
-gp_obs = exp(-gam);
-dA = exp(gam);
+steady_state_model;
+  dA = exp(gam);
+  gst = 1/dA;
+  m = mst;
+  khst = ( (1-gst*bet*(1-del)) / (alp*gst^alp*bet) )^(1/(alp-1));
+  xist = ( ((khst*gst)^alp - (1-gst*(1-del))*khst)/mst )^(-1);
+  nust = psi*mst^2/( (1-alp)*(1-psi)*bet*gst^alp*khst^alp );
+  n  = xist/(nust+xist);
+  P  = xist + nust;
+  k  = khst*n;
+
+  l  = psi*mst*n/( (1-psi)*(1-n) );
+  c  = mst/P;
+  d  = l - mst + 1;
+  y  = k^alp*n^(1-alp)*gst^alp;
+  R  = mst/bet;
+  W  = l/n;
+  ist  = y-c;
+  q  = 1 - d;
+
+  e = 1;
+  
+  gp_obs = m/dA;
+  gy_obs = dA;
 end;
 
 shocks;
diff --git a/tests/smoother2histval/fs2000_smooth_stoch_simul.mod b/tests/smoother2histval/fs2000_smooth_stoch_simul.mod
index f599f37b7ec64930fffcbf790d639a64284085ca..91bc25ef674beb941a5c4c84ce19cbf44ad89670 100644
--- a/tests/smoother2histval/fs2000_smooth_stoch_simul.mod
+++ b/tests/smoother2histval/fs2000_smooth_stoch_simul.mod
@@ -31,21 +31,30 @@ gy_obs = dA*y/y(-2);
 gp_obs = (P/P(-1))*m(-1)/dA;
 end;
 
-initval;
-k = 6;
-m = mst;
-P = 2.25;
-c = 0.45;
-e = 1;
-W = 4;
-R = 1.02;
-d = 0.85;
-n = 0.19;
-l = 0.86;
-y = 0.6;
-gy_obs = exp(gam);
-gp_obs = exp(-gam);
-dA = exp(gam);
+steady_state_model;
+  dA = exp(gam);
+  gst = 1/dA;
+  m = mst;
+  khst = ( (1-gst*bet*(1-del)) / (alp*gst^alp*bet) )^(1/(alp-1));
+  xist = ( ((khst*gst)^alp - (1-gst*(1-del))*khst)/mst )^(-1);
+  nust = psi*mst^2/( (1-alp)*(1-psi)*bet*gst^alp*khst^alp );
+  n  = xist/(nust+xist);
+  P  = xist + nust;
+  k  = khst*n;
+
+  l  = psi*mst*n/( (1-psi)*(1-n) );
+  c  = mst/P;
+  d  = l - mst + 1;
+  y  = k^alp*n^(1-alp)*gst^alp;
+  R  = mst/bet;
+  W  = l/n;
+  ist  = y-c;
+  q  = 1 - d;
+
+  e = 1;
+  
+  gp_obs = m/dA;
+  gy_obs = dA;
 end;
 
 shocks;
diff --git a/tests/steady_state/walsh1_old_ss.mod b/tests/steady_state/walsh1_old_ss.mod
index 1b27d832d0715c3f741a3d03cafa189cb23384ba..58935a95eaa5ad2290087ff2522808cbe5176095 100644
--- a/tests/steady_state/walsh1_old_ss.mod
+++ b/tests/steady_state/walsh1_old_ss.mod
@@ -2,12 +2,12 @@ var y c k m n R pi z u;
 varexo	e sigma;	 
 // sigma stands for phi in the eq 2.37 p.69
 
-parameters alpha beta delta gamm phi1 eta a b rho  phi2 Psi thetass;  
+parameters alphha betta delta gamm phi1 eta a b rho  phi2 Psi thetass;  
 //phi1 stands for capital phi in eq.2.68 and 2.69
 //phi2 stands for lowercase phi in eq. 2.66
 
-alpha = 0.36;
-beta = 0.989; 
+alphha = 0.36;
+betta = 0.989; 
 gamm = 0.5;
 delta = 0.019;
 phi1 = 2;
@@ -21,17 +21,17 @@ thetass = 1.0125;
 
 model;
 
-(a*exp(c)^(1-b)+(1-a)*exp(m)^(1-b))^((b-phi1)/(1-b))*a*exp(c)^(-b) = (a*exp(c)^(1-b)+(1-a)*exp(m)^(1-b))^((b-phi1)/(1-b))*(1-a)*exp(m)^(-b)+beta*(a*exp(c(+1))^(1-b)+(1-a)*exp(m(+1))^(1-b))^((b-phi1)/(1-b))*a*exp(c(+1))^(-b)/(1+pi(+1));
+(a*exp(c)^(1-b)+(1-a)*exp(m)^(1-b))^((b-phi1)/(1-b))*a*exp(c)^(-b) = (a*exp(c)^(1-b)+(1-a)*exp(m)^(1-b))^((b-phi1)/(1-b))*(1-a)*exp(m)^(-b)+betta*(a*exp(c(+1))^(1-b)+(1-a)*exp(m(+1))^(1-b))^((b-phi1)/(1-b))*a*exp(c(+1))^(-b)/(1+pi(+1));
 
-Psi*(1-exp(n))^(-eta)/(a*exp(c)^(-b)*(a*exp(c)^(1-b) + (1-a)*exp(m)^(1-b))^((b-phi1)/(1-b))) = (1-alpha)*exp(y)/exp(n);
+Psi*(1-exp(n))^(-eta)/(a*exp(c)^(-b)*(a*exp(c)^(1-b) + (1-a)*exp(m)^(1-b))^((b-phi1)/(1-b))) = (1-alphha)*exp(y)/exp(n);
 
-(a*exp(c)^(1-b)+(1-a)*exp(m)^(1-b))^((b-phi1)/(1-b))*a*exp(c)^(-b) = beta*exp(R(+1))*(a*exp(c(+1))^(1-b)+(1-a)*exp(m(+1))^(1-b))^((b-phi1)/(1-b))*a*exp(c(+1))^(-b);
+(a*exp(c)^(1-b)+(1-a)*exp(m)^(1-b))^((b-phi1)/(1-b))*a*exp(c)^(-b) = betta*exp(R(+1))*(a*exp(c(+1))^(1-b)+(1-a)*exp(m(+1))^(1-b))^((b-phi1)/(1-b))*a*exp(c(+1))^(-b);
 
-exp(R) = alpha*exp(y)/exp(k(-1)) + 1-delta;
+exp(R) = alphha*exp(y)/exp(k(-1)) + 1-delta;
 
 exp(k) = (1-delta)*exp(k(-1))+exp(y)-exp(c);
 
-exp(y) = exp(z)*exp(k(-1))^alpha*exp(n)^(1-alpha);
+exp(y) = exp(z)*exp(k(-1))^alphha*exp(n)^(1-alphha);
 
 exp(m) = exp(m(-1))*(u+thetass)/(1+pi);
 
diff --git a/tests/steady_state/walsh1_old_ss_steadystate.m b/tests/steady_state/walsh1_old_ss_steadystate.m
index 125c652d78019fa1c7ec4e6fcfa67eb3225ab283..9530862643e15467daf9179101cceec2650c362c 100644
--- a/tests/steady_state/walsh1_old_ss_steadystate.m
+++ b/tests/steady_state/walsh1_old_ss_steadystate.m
@@ -1,32 +1,28 @@
-function [ys,check] = walsh1_old_ss_steadystate(ys0,exo)
-    global M_
-    
-    check = 0;
-    
-    params = M_.params;
-    alpha = params(1);
-    beta = params(2);
-    delta = params(3);
-    gamm = params(4);
-    phi1 = params(5);
-    eta = params(6);
-    a = params(7);
-    b = params(8);
-    rho = params(9);
-    phi2 = params(10);
-    Psi = params(11);
-    thetass = params(12);
+function [ys,check] = walsh1_old_ss_steadystate(ys,exo)
+global M_ 
+
+% read out parameters to access them with their name
+NumberOfParameters = M_.param_nbr;
+for ii = 1:NumberOfParameters
+  paramname = deblank(M_.param_names(ii,:));
+  eval([ paramname ' = M_.params(' int2str(ii) ');']);
+end
+% initialize indicator
+check = 0;
+
+
+%% Enter model equations here
  
     pi = thetass-1;
     en = 1/3;
-    eR = 1/beta;
-    y_k = (1/alpha)*(1/beta-1+delta);
-    ek = en*y_k^(-1/(1-alpha));
+    eR = 1/betta;
+    y_k = (1/alphha)*(1/betta-1+delta);
+    ek = en*y_k^(-1/(1-alphha));
     ec = ek*(y_k-delta);
-    em = ec*(a/(1-a))^(-1/b)*((thetass-beta)/thetass)^(-1/b);
+    em = ec*(a/(1-a))^(-1/b)*((thetass-betta)/thetass)^(-1/b);
     ey = ek*y_k;
-    Xss = a*ec^(1-b)*(1+(a/(1-a))^(-1/b)*((thetass-beta)/thetass)^((b-1)/b));
-    Psi = (1-alpha)*(ey/en)*Xss^((b-phi1)/(1-b))*a*ec^(-b)*(1-en)^eta;
+    Xss = a*ec^(1-b)*(1+(a/(1-a))^(-1/b)*((thetass-betta)/thetass)^((b-1)/b));
+    Psi = (1-alphha)*(ey/en)*Xss^((b-phi1)/(1-b))*a*ec^(-b)*(1-en)^eta;
     n = log(en);
     k = log(ek);
     m = log(em);
@@ -36,6 +32,14 @@ function [ys,check] = walsh1_old_ss_steadystate(ys0,exo)
     z = 0;
     u = 0;
     
-    ys = [y c k m n R pi z u]';
-    M_.params(11) = Psi;
-    
+%% end own model equations
+
+for iter = 1:length(M_.params) %update parameters set in the file
+  eval([ 'M_.params(' num2str(iter) ') = ' M_.param_names(iter,:) ';' ])
+end
+
+NumberOfEndogenousVariables = M_.orig_endo_nbr; %auxiliary variables are set automatically
+for ii = 1:NumberOfEndogenousVariables
+  varname = deblank(M_.endo_names(ii,:));
+  eval(['ys(' int2str(ii) ') = ' varname ';']);
+end