added explanations