factor and clean