added support to arbitrary numbers factorization