add factor factorize