Tightened up exceptions, and better handling of additional data