Broken by exceptions. Major revision under way