more comprehensive error messages