add in factorization