more precise error messages