add isFactor method