better explanations of scope