add reverse-factorization