error messages are written to stderr