removed constraint on using fail vs raise