more useful error messages hopefully