fixed exception bases and added a few exception classes