Fixing up my exception hierarchy