add Factor class to Data.Polynomial