exceptions restructuring