We don't need that many types of exceptions. Would be better to group them up into a few exceptions and give meaningful exception messages.