Update, bug fixes, and restructring of exceptions