attempt factorize