explanations added