Polynomials and factoring