made tools::factorial smaller