factorial now works.