factorization macros