while ext factorization