Revamped exception handling