add explanations and a sanity check error message that never gets called