updated implementation and documentation of exception classes