factoring methods