worked on factorization