function [zdata_, zdatass_, oobase_, Mbase_, check ] = ...
    solve_no_constraint_no_parse(shockssequence,irfshock,nperiods,optionsbase_,Mbase_,oobase_)

%global M_ oo_

%errlist = [];

check = 0;

% solve model
%eval(['dynare ',modnam,' noclearall'])
%stoch_simul([]);
[info, oobase_, optionsbase_, Mbase_] = stoch_simul(Mbase_, optionsbase_, oobase_, []);

%oobase_ = oobase_;
%Mbase_ = Mbase_;

%ys_ = oobase_.dr.ys;
%nvars = numel(ys_);
%zdatass_ = ys_ ;

if info==0

for i=1:Mbase_.endo_nbr
    eval([deblank(Mbase_.endo_names{i,:}) '_ss = oobase_.dr.ys(i); ']);
end

for i = 1:size(Mbase_.param_names)
  eval([Mbase_.param_names{i},'= Mbase_.params(i);']);
end


nvars_ = Mbase_.endo_nbr;
zdatass_ = oobase_.dr.ys;



[hm1,h,hl1,Jbarmat] = get_deriv(Mbase_,zdatass_);
cof = [hm1,h,hl1];


if isfield(Mbase_,'nstatic')
    nstatic = Mbase_.nstatic;
    nfwrd = Mbase_.nfwrd;
else
    nstatic = oobase_.dr.nstatic;
    nfwrd = oobase_.dr.nfwrd;
end
[decrulea,decruleb]=get_pq(oobase_.dr,Mbase_);
endog_ = Mbase_.endo_names;
exog_ =  Mbase_.exo_names;

nvars = numel(Mbase_.endo_nbr);


nshocks = size(shockssequence,1);
init = zeros(nvars,1);

wishlist = endog_;
nwishes = size(wishlist,1);


zdata_ = mkdata(nperiods,decrulea,decruleb,endog_,exog_,wishlist,irfshock,shockssequence);
else
    zdata_ = nan;
    zdatass_ = nan;
    check = -1;

end