add explanations and credit