added class exception
updated exceptions
updated all source files to use the new exception classes