More specific exception classes (closes #10)