return better error