pre-factorize