Changed exception types for validation to IllegalArgumentException