reduce scope of caught exceptions - made new FactorExceptions