implementation explanations