defining a Scope object so we can distinguish let scopes