add comments
remove warnings
faster factorial
more faster factorial