functional explanations