added prime-factorization