added factorial test program