updated factoring