return better error messages