Added new exception and classes, filled out more functionality. Added helper.