use error messages instead of a fixed string