added 2 exception classes