added multiple error types