I fixed the factorial to check for negative numbers.
Moved all the changes back .. ready for the demo.