Factorial program actually works!