function [tp1,tp5,tp10,irfYmp,irfexp1,irfexp5,irfexp10,irfmp,results,scale]=getresponses(K1P_cP,N,L,A0,horizon,B,bb)
 shock=zeros(1,N);
 shock(1)=1;
 irfmp=irfsimx(K1P_cP',N,L,A0,shock,horizon,0);
 irfYmp =  irfmp(:,1:3)*B';%repmat(A',horizon,1)+ %model implied irf

  scale=(1./irfYmp(1,1))*0.01;

 irfYmp=irfYmp./irfYmp(1,1); %scaled so 3mth rate goes up by 1 unit
 irfmp=irfmp*scale;
 %expected response using short rate
[irfexp1,tmp]=getexpIRF(K1P_cP,A0,horizon,bb,1,12,1,L,1,1); %same scaling
[irfexp5,tmp]=getexpIRF(K1P_cP,A0,horizon,bb,1,60,1,L,1,1); %same scaling
[irfexp10,tmp]=getexpIRF(K1P_cP,A0,horizon,bb,1,120,1,L,1,1); %same scaling
tp1=irfYmp(:,3)-irfexp1;
tp5=irfYmp(:,end-5)-irfexp5;
tp10=irfYmp(:,end)-irfexp10;
results.irfmp=irfmp;
results.irfYmp=irfYmp;
results.tp=[tp1 tp5 tp10];