modulize factorization