factoring pattern