add factorial test program