more accurate error msg