newbie question concerning recursion



I'm trying to produce polynomial fractions like this:

zth[1]:1/(1+s);
zth[m]:(1+zth(m-1)*s)/(1+s*(1+zth(m-1)));

I hoped that xmaxima would produce (1+2*s)/(1+3*s+s^2) when entering 
zth[2];

but it doesn't, can anyone here explain me why it doesn't and how to make 
xmaxima produce the expected result using recursion.

hugo