title: Scope (computer science)

text: A subtle issue is exactly when a scope begins and ends. In some languages, such as C, a name's scope begins at the name declaration, and thus different names declared within a given block can have different scopes. This requires declaring functions before use, though not necessarily defining them, and requires forward declaration in some cases, notably for mutual recursion. In other languages, such as Python, a name's scope begins at the start of the relevant block where the name is declared (such as the start of a function), regardless of where it is defined, so all names within a given block have the same scope. In JavaScript, the scope of a name declared with codice_3 or codice_4 begins at the name declaration, and the scope of a name declared with codice_5 begins at the start of the function where the name is declared, which is known as "variable hoisting". Behavior of names in context that have undefined value differs: in Python use of undefined names yields a runtime error, while in JavaScript undefined names declared with codice_5 are usable throughout the function because they are implicitly bound to the value codice_7.


title: Scope (computer science)

text: The scope of a name binding is an expression, which is known as expression scope. Expression scope is available in many languages, especially functional languages which offer a feature called "let-expressions" allowing a declaration's scope to be a single expression. This is convenient if, for example, an intermediate value is needed for a computation. For example, in Standard ML, if codice_8 returns codice_9, then codice_10 is an expression that evaluates to codice_11, using a temporary variable named codice_12 to avoid calling codice_8 twice. Some languages with block scope approximate this functionality by offering syntax for a block to be embedded into an expression; for example, the aforementioned Standard ML expression could be written in Perl as do { my $x = f(); $x * $x }, or in GNU C as ({ int x = f(); x * x; }).


title: Scope (computer science)

text: In Python, auxiliary variables in generator expressions and list comprehensions (in Python 3) have expression scope.


title: Scope (computer science)

text: In C, variable names in a function prototype have expression scope, known in this context as function protocol scope. As the variable names in the prototype are not referred to (they may be different in the actual definition)—they are just dummies—these are often omitted, though they may be used for generating documentation, for instance.


title: Scope (computer science)

text: The scope of a name binding is a block, which is known as block scope. Block scope is available in many, but not all, block-structured programming languages. This began with ALGOL 60, where "[e]very declaration ... is valid only for that block.", and today is particularly associated with languages in the Pascal and C families and traditions. Most often this block is contained within a function, thus restricting the scope to a part of a function, but in some cases, such as Perl, the block may not be within a function.


title: Scope (computer science)

text: A representative example of the use of block scope is the C code shown here, where two variables are scoped to the loop: the loop variable n, which is initialized once and incremented on each iteration of the loop, and the auxiliary variable n_squared, which is initialized at each iteration. The purpose is to avoid adding variables to the function scope that are only relevant to a particular block—for example, this prevents errors where the generic loop variable i has accidentally already been set to another value. In this example the expression codice_14 would generally not be assigned to an auxiliary variable, and the body of the loop would simply be written codice_15 but in more complicated examples auxiliary variables are useful.


title: Scope (computer science)

text: Blocks are primarily used for control flow, such as with if, while, and for loops, and in these cases block scope means the scope of variable depends on the structure of a function's flow of execution. However, languages with block scope typically also allow the use of "naked" blocks, whose sole purpose is to allow fine-grained control of variable scope. For example, an auxiliary variable may be defined in a block, then used (say, added to a variable with function scope) and discarded when the block ends, or a while loop might be enclosed in a block that initializes variables used inside the loop that should only be initialized once.


title: Scope (computer science)

text: A subtlety of several programming languages, such as Algol 68 and C (demonstrated in this example and standardized since C99), is that block-scope variables can be declared not only within the body of the block, but also within the control statement, if any. This is analogous to function parameters, which are declared in the function declaration (before the block of the function body starts), and in scope for the whole function body. This is primarily used in for loops, which have an initialization statement separate from the loop condition, unlike while loops, and is a common idiom.


title: Scope (computer science)

text: Block scope can be used for shadowing. In this example, inside the block the auxiliary variable could also have been called n, shadowing the parameter name, but this is considered poor style due to the potential for errors. Furthermore, some descendants of C, such as Java and C#, despite having support for block scope (in that a local variable can be made to go out of context before the end of a function), do not allow one local variable to hide another. In such languages, the attempted declaration of the second n would result in a syntax error, and one of the n variables would have to be renamed.


title: Scope (computer science)

text: If a block is used to set the value of a variable, block scope requires that the variable be declared outside of the block. This complicates the use of conditional statements with single assignment. For example, in Python, which does not use block scope, one may initialize a variable as such:


title: Scope (computer science)

text: Often this is instead rewritten using multiple assignment, initializing the variable to a default value. In Python (where it is not necessary) this would be:


title: Scope (computer science)

text: In case of a single variable assignment, an alternative is to use the ternary operator to avoid a block, but this is not in general possible for multiple variable assignments, and is difficult to read for complex logic.


title: Scope (computer science)

text: This is a more significant issue in C, notably for string assignment, as string initialization can automatically allocate memory, while string assignment to an already initialized variable requires allocating memory, a string copy, and checking that these are successful.


title: Scope (computer science)

text: Some languages allow the concept of block scope to be applied, to varying extents, outside of a function. For example, in the Perl snippet at right, codice_18 is a variable name with block scope (due to the use of the codice_19 keyword), while codice_20 is a function name with global scope. Each call to codice_20 will increase the value of codice_18 by one, and return the new value. Code outside of this block can call codice_20, but cannot otherwise obtain or alter the value of codice_18. This idiom allows one to define closures in Perl.


title: Scope (computer science)

text: When the scope of variables declared within a function does not extend beyond that function, this is known as function scope. Function scope is available in most programming languages which offer a way to create a "local variable" in a function or subroutine: a variable whose scope ends (that goes out of context) when the function returns. In most cases the lifetime of the variable is the duration of the function call—it is an automatic variable, created when the function starts (or the variable is declared), destroyed when the function returns—while the scope of the variable is within the function, though the meaning of "within" depends on whether scope is lexical or dynamic. However, some languages, such as C, also provide for static local variables, where the lifetime of the variable is the entire lifetime of the program, but the variable is only in context when inside the function. In the case of static local variables, the variable is created when the program initializes, and destroyed only when the program terminates, as with a static global variable, but is only in context within a function, like an automatic local variable.


title: Scope (computer science)

text: Importantly, in lexical scope a variable with function scope has scope only within the "lexical context" of the function: it goes out of context when another function is called within the function, and comes back into context when the function returns—called functions have no access to the local variables of calling functions, and local variables are only in context within the body of the function in which they are declared. By contrast, in dynamic scope, the scope extends to the "execution context" of the function: local variables "stay in context" when another function is called, only going out of context when the defining function ends, and thus local variables are in context of the function in which they are defined "and all called functions". In languages with lexical scope and nested functions, local variables are in context for nested functions, since these are within the same lexical context, but not for other functions that are not lexically nested. A local variable of an enclosing function is known as a non-local variable for the nested function. Function scope is also applicable to anonymous functions.


title: Scope (computer science)

text: For example, in the snippet of Python code on the right, two functions are defined: codice_25 and codice_26. codice_25 computes the square of a number; codice_26 computes the sum of all squares up to a number. (For example, codice_29 is 4 = codice_30, and codice_31 is 0 + 1 + 2 + 3 + 4 = codice_32.)


title: Scope (computer science)

text: Each of these functions has a variable named n that represents the argument to the function. These two n variables are completely separate and unrelated, despite having the same name, because they are lexically scoped local variables with function scope: each one's scope is its own, lexically separate function and thus, they don't overlap. Therefore, codice_26 can call codice_25 without its own n being altered. Similarly, codice_26 has variables named total and i; these variables, because of their limited scope, will not interfere with any variables named total or i that might belong to any other function. In other words, there is no risk of a "name collision" between these names and any unrelated names, even if they are identical.


title: Scope (computer science)

text: No name masking is occurring: only one variable named n is in context at any given time, as the scopes do not overlap. By contrast, were a similar fragment to be written in a language with dynamic scope, the n in the calling function would remain in context in the called function—the scopes would overlap—and would be masked ("shadowed") by the new n in the called function.


title: Scope (computer science)

text: Function scope is significantly more complicated if functions are first-class objects and can be created locally to a function and then returned. In this case any variables in the nested function that are not local to it (unbound variables in the function definition, that resolve to variables in an enclosing context) create a closure, as not only the function itself, but also its context (of variables) must be returned, and then potentially called in a different context. This requires significantly more support from the compiler, and can complicate program analysis.


title: Scope (computer science)

text: The scope of a name binding is a file, which is known as file scope. File scope is largely particular to C (and C++), where scope of variables and functions declared at the top level of a file (not within any function) is for the entire file—or rather for C, from the declaration until the end of the source file, or more precisely translation unit (internal linking). This can be seen as a form of module scope, where modules are identified with files, and in more modern languages is replaced by an explicit module scope. Due to the presence of include statements, which add variables and functions to the internal context and may themselves call further include statements, it can be difficult to determine what is in context in the body of a file.


title: Scope (computer science)

text: The scope of a name binding is a module, which is known as module scope. Module scope is available in modular programming languages where modules (which may span various files) are the basic unit of a complex program, as they allow information hiding and exposing a limited interface. Module scope was pioneered in the Modula family of languages, and Python (which was influenced by Modula) is a representative contemporary example.


title: Scope (computer science)

text: In some object-oriented programming languages that lack direct support for modules, such as C++, a similar structure is instead provided by the class hierarchy, where classes are the basic unit of the program, and a class can have private methods. This is properly understood in the context of dynamic dispatch rather than name resolution and scope, though they often play analogous roles. In some cases both these facilities are available, such as in Python, which has both modules and classes, and code organization (as a module-level function or a conventionally private method) is a choice of the programmer.


title: Scope (computer science)

text: The scope of a name binding is an entire program, which is known as global scope. Variable names with global scope—called "global variables"—are frequently considered bad practice, at least in some languages, due to the possibility of name collisions and unintentional masking, together with poor modularity, and function scope or block scope are considered preferable. However, global scope is typically used (depending on the language) for various other sorts of names, such as names of functions, names of classes and names of other data types. In these cases mechanisms such as namespaces are used to avoid collisions.


title: Scope (computer science)

text: The use of local variables — of variable names with limited scope, that only exist within a specific function — helps avoid the risk of a name collision between two identically named variables. However, there are two very different approaches to answering this question: What does it mean to be "within" a function?


title: Scope (computer science)

text: In lexical scope (or lexical scoping; also called static scope or static scoping), if a variable name's scope is a certain function, then its scope is the program text of the function definition: within that text, the variable name exists, and is bound to the variable's value, but outside that text, the variable name does not exist. By contrast, in dynamic scope (or dynamic scoping), if a variable name's scope is a certain function, then its scope is the time-period during which the function is executing: while the function is running, the variable name exists, and is bound to its value, but after the function returns, the variable name does not exist. This means that if function codice_37 invokes a separately defined function codice_38, then under lexical scope, function codice_38 does "not" have access to codice_37's local variables (assuming the text of codice_38 is not inside the text of codice_37), while under dynamic scope, function codice_38 "does" have access to codice_37's local variables (since codice_38 is invoked during the invocation of codice_37).


title: Scope (computer science)

text: Consider, for example, the program on the right. The first line, x=1, creates a global variable codice_12 and initializes it to codice_48. The second line, function g() { echo $x ; x=2 ; }, defines a function codice_38 that prints out ("echoes") the current value of codice_12, and then sets codice_12 to codice_52 (overwriting the previous value). The third line, function f() { local x=3 ; g ; } defines a function codice_37 that creates a local variable codice_12 (hiding the identically named global variable) and initializes it to codice_55, and then calls codice_38. The fourth line, f, calls codice_37. The fifth line, echo $x, prints out the current value of codice_12.


title: Scope (computer science)

text: So, what exactly does this program print? It depends on the scope rules. If the language of this program is one that uses lexical scope, then codice_38 prints and modifies the global variable codice_12 (because codice_38 is defined outside codice_37), so the program prints codice_48 and then codice_52. By contrast, if this language uses dynamic scope, then codice_38 prints and modifies codice_37's local variable codice_12 (because codice_38 is called from within codice_37), so the program prints codice_55 and then codice_48. (As it happens, the language of the program is Bash, which uses dynamic scope; so the program prints codice_55 and then codice_48. If the same code was run with ksh93 which uses lexical scope, the results would be different.)


title: Scope (computer science)

text: With lexical scope, a name always refers to its lexical context. This is a property of the program text and is made independent of the runtime call stack by the language implementation. Because this matching only requires analysis of the static program text, this type of scope is also called static scope. Lexical scope is standard in all ALGOL-based languages such as Pascal, Modula-2 and Ada as well as in modern functional languages such as ML and Haskell. It is also used in the C language and its syntactic and semantic relatives, although with different kinds of limitations. Static scope allows the programmer to reason about object references such as parameters, variables, constants, types, functions, etc. as simple name substitutions. This makes it much easier to make modular code and reason about it, since the local naming structure can be understood in isolation. In contrast, dynamic scope forces the programmer to anticipate all possible execution contexts in which the module's code may be invoked.


title: Scope (computer science)

text: For example, Pascal is lexically scoped. Consider the Pascal program fragment at right. The variable codice_74 is visible at all points, because it is never hidden by another variable of the same name. The codice_75 variable codice_76 is visible only in the main program because it is hidden by the codice_77 variable codice_76 visible in procedure codice_79 and codice_80 only. Variable codice_81 is also visible only in procedure codice_79 and codice_80 but it does not hide any other variable. Variable codice_84 is only visible in procedure codice_80 and therefore not accessible either from procedure codice_79 or the main program. Also, procedure codice_80 is visible only in procedure codice_79 and can therefore not be called from the main program.


title: Scope (computer science)

text: There could have been another procedure codice_80 declared in the program outside of procedure codice_79. The place in the program where "codice_80" is mentioned then determines which of the two procedures named codice_80 it represents, thus precisely analogous with the scope of variables.


title: Scope (computer science)

text: Correct implementation of lexical scope in languages with first-class nested functions is not trivial, as it requires each function value to carry with it a record of the values of the variables that it depends on (the pair of the function and this context is called a closure). Depending on implementation and computer architecture, variable lookup "may" become slightly inefficient when very deeply lexically nested functions are used, although there are well-known techniques to mitigate this. Also, for nested functions that only refer to their own arguments and (immediately) local variables, all relative locations can be known at compile time. No overhead at all is therefore incurred when using that type of nested function. The same applies to particular parts of a program where nested functions are not used, and, naturally, to programs written in a language where nested functions are not available (such as in the C language).


title: Scope (computer science)

text: Lexical scope was first used in the early 1960s for the imperative language ALGOL 60 and has been picked up in most other imperative languages since then.


title: Scope (computer science)

text: Languages like Pascal and C have always had lexical scope, since they are both influenced by the ideas that went into ALGOL 60 and ALGOL 68 (although C did not include lexically nested functions).


title: Scope (computer science)

text: The original Lisp interpreter (1960) used dynamic scope. "Deep binding", which approximates static (lexical) scope, was introduced around 1962 in LISP 1.5 (via the Funarg device developed by Steve Russell, working under John McCarthy).


title: Scope (computer science)

text: All early Lisps used dynamic scope, when based on interpreters. In 1982, Guy L. Steele Jr. and the Common LISP Group publish "An overview of Common LISP", a short review of the history and the divergent implementations of Lisp up to that moment and a review of the features that a "Common Lisp" implementation should have. On page 102, we read:


title: Scope (computer science)

text: Most LISP implementations are internally inconsistent in that by default the interpreter and compiler may assign different semantics to correct programs; this stems primarily from the fact that the interpreter assumes all variables to be dynamically scoped, while the compiler assumes all variables to be local unless forced to assume otherwise. This has been done for the sake of convenience and efficiency, but can lead to very subtle bugs. The definition of Common LISP avoids such anomalies by explicitly requiring the interpreter and compiler to impose identical semantics on correct programs.


title: Scope (computer science)

text: Implementations of Common LISP were thus required to have lexical scope. Again, from "An overview of Common LISP":


title: Scope (computer science)

text: In addition, Common LISP offers the following facilities (most of which are borrowed from MacLisp, InterLisp or Lisp Machines Lisp): (...) Fully lexically scoped variables. The so-called "FUNARG problem" is completely solved, in both the downward and upward cases.


title: Scope (computer science)

text: By the same year in which "An overview of Common LISP" was published (1982), initial designs (also by Guy L. Steele Jr.) of a compiled, lexically scoped Lisp, called "Scheme" had been published and compiler implementations were being attempted. At that time, lexical scope in Lisp was commonly feared to be inefficient to implement. In "A History of T", Olin Shivers writes:


title: Scope (computer science)

text: "All" serious Lisps in production use at that time were dynamically scoped. No one who hadn't carefully read the Rabbit thesis (written by Guy Lewis Steele Jr. in 1978) believed lexical scope would fly; even the few people who "had" read it were taking a bit of a leap of faith that this was going to work in serious production use.


title: Scope (computer science)

text: The term "lexical scope" dates at least to 1967, while the term "lexical scoping" dates at least to 1970, where it was used in Project MAC to describe the scope rules of the Lisp dialect MDL (then known as "Muddle").


title: Scope (computer science)

text: With dynamic scope, a name refers to execution context. In technical terms, this means that each name has a global stack of bindings. Introducing a local variable with name codice_12 pushes a binding onto the global codice_12 stack (which may have been empty), which is popped off when the control flow leaves the scope. Evaluating codice_12 in any context always yields the top binding. Note that this cannot be done at compile-time because the binding stack only exists at run-time, which is why this type of scope is called "dynamic" scope.


title: Scope (computer science)

text: Generally, certain blocks are defined to create bindings whose lifetime is the execution time of the block; this adds some features of static scope to the dynamic scope process. However, since a section of code can be called from many different locations and situations, it can be difficult to determine at the outset what bindings will apply when a variable is used (or if one exists at all). This can be beneficial; application of the principle of least knowledge suggests that code avoid depending on the "reasons" for (or circumstances of) a variable's value, but simply use the value according to the variable's definition. This narrow interpretation of shared data can provide a very flexible system for adapting the behavior of a function to the current state (or policy) of the system. However, this benefit relies on careful documentation of all variables used this way as well as on careful avoidance of assumptions about a variable's behavior, and does not provide any mechanism to detect interference between different parts of a program. Some languages, like Perl and Common Lisp, allow the programmer to choose static or dynamic scope when defining or redefining a variable. Examples of languages that use dynamic scope include Logo, Emacs Lisp, LaTeX and the shell languages bash, dash, and PowerShell.


title: Scope (computer science)

text: Dynamic scope is fairly easy to implement. To find an name's value, the program could traverse the runtime stack, checking each activation record (each function's stack frame) for a value for the name. In practice, this is made more efficient via the use of an association list, which is a stack of name/value pairs. Pairs are pushed onto this stack whenever declarations are made, and popped whenever variables go out of context. "Shallow binding" is an alternative strategy that is considerably faster, making use of a "central reference table", which associates each name with its own stack of meanings. This avoids a linear search during run-time to find a particular name, but care should be taken to properly maintain this table. Note that both of these strategies assume a last-in-first-out (LIFO) ordering to bindings for any one variable; in practice all bindings are so ordered.


title: Scope (computer science)

text: An even simpler implementation is the representation of dynamic variables with simple global variables. The local binding is performed by saving the original value in an anonymous location on the stack that is invisible to the program. When that binding scope terminates, the original value is restored from this location. In fact, dynamic scope originated in this manner. Early implementations of Lisp used this obvious strategy for implementing local variables, and the practice survives in some dialects which are still in use, such as GNU Emacs Lisp. Lexical scope was introduced into Lisp later. This is equivalent to the above shallow binding scheme, except that the central reference table is simply the global variable binding context, in which the current meaning of the variable is its global value. Maintaining global variables isn't complex. For instance, a symbol object can have a dedicated slot for its global value.


title: Scope (computer science)

text: Dynamic scope provides an excellent abstraction for thread-local storage, but if it is used that way it cannot be based on saving and restoring a global variable. A possible implementation strategy is for each variable to have a thread-local key. When the variable is accessed, the thread-local key is used to access the thread-local memory location (by code generated by the compiler, which knows which variables are dynamic and which are lexical). If the thread-local key does not exist for the calling thread, then the global location is used. When a variable is locally bound, the prior value is stored in a hidden location on the stack. The thread-local storage is created under the variable's key, and the new value is stored there. Further nested overrides of the variable within that thread simply save and restore this thread-local location. When the initial, outermost override's context terminates, the thread-local key is deleted, exposing the global version of the variable once again to that thread.


title: Scope (computer science)

text: With referential transparency the dynamic scope is restricted to the argument stack of the current function only, and coincides with the lexical scope.


title: Scope (computer science)

text: In modern languages, macro expansion in a preprocessor is a key example of de facto dynamic scope. The macro language itself only transforms the source code, without resolving names, but since the expansion is done in place, when the names in the expanded text are then resolved (notably free variables), they are resolved based on where they are expanded (loosely "called"), as if dynamic scope were occurring.


title: Scope (computer science)

text: The C preprocessor, used for macro expansion, has de facto dynamic scope, as it does not do name resolution by itself and it is independent of where the macro is defined. For example, the macro:


title: Scope (computer science)

text: will expand to add codice_16 to the passed variable, with this name only later resolved by the compiler based on where the macro codice_97 is "called" (properly, expanded). Properly, the C preprocessor only does lexical analysis, expanding the macro during the tokenization stage, but not parsing into a syntax tree or doing name resolution.


title: Scope (computer science)

text: For example, in the following code, the name codice_16 in the macro is resolved (after expansion) to the local variable at the expansion site:


title: Scope (computer science)

text: As we have seen, one of the key reasons for scope is that it helps prevent name collisions, by allowing identical names to refer to distinct things, with the restriction that the names must have separate scopes. Sometimes this restriction is inconvenient; when many different things need to be accessible throughout a program, they generally all need names with global scope, so different techniques are required to avoid name collisions.


title: Scope (computer science)

text: To address this, many languages offer mechanisms for organizing global names. The details of these mechanisms, and the terms used, depend on the language; but the general idea is that a group of names can itself be given a name — a prefix — and, when necessary, an entity can be referred to by a "qualified name" consisting of the name plus the prefix. Normally such names will have, in a sense, two sets of scopes: a scope (usually the global scope) in which the qualified name is visible, and one or more narrower scopes in which the "unqualified name" (without the prefix) is visible as well. And normally these groups can themselves be organized into groups; that is, they can be "nested".


title: Scope (computer science)

text: Although many languages support this concept, the details vary greatly. Some languages have mechanisms, such as "namespaces" in C++ and C#, that serve almost exclusively to enable global names to be organized into groups. Other languages have mechanisms, such as "packages" in Ada and "structures" in Standard ML, that combine this with the additional purpose of allowing some names to be visible only to other members of their group. And object-oriented languages often allow classes or singleton objects to fulfill this purpose (whether or not they "also" have a mechanism for which this is the primary purpose). Furthermore, languages often meld these approaches; for example, Perl's packages are largely similar to C++'s namespaces, but optionally double as classes for object-oriented programming; and Java organizes its variables and functions into classes, but then organizes those classes into Ada-like packages.


title: Scope (computer science)

text: In C, scope is traditionally known as linkage or visibility, particularly for variables. C is a lexically scoped language with global scope (known as "external linkage"), a form of module scope or file scope (known as "internal linkage"), and local scope (within a function); within a function scopes can further be nested via block scope. However, standard C does not support nested functions.


title: Scope (computer science)

text: The lifetime and visibility of a variable are determined by its storage class. There are three types of lifetimes in C: static (program execution), automatic (block execution, allocated on the stack), and manual (allocated on the heap). Only static and automatic are supported for variables and handled by the compiler, while manually allocated memory must be tracked manually across different variables. There are three levels of visibility in C: external linkage (global), internal linkage (roughly file), and block scope (which includes functions); block scopes can be nested, and different levels of internal linkage is possible by use of includes. Internal linkage in C is visibility at the translation unit level, namely a source file after being processed by the C preprocessor, notably including all relevant includes.


title: Scope (computer science)

text: C programs are compiled as separate object files, which are then linked into an executable or library via a linker. Thus name resolution is split across the compiler, which resolves names within a translation unit (more loosely, "compilation unit", but this is properly a different concept), and the linker, which resolves names across translation units; see linkage for further discussion.


title: Scope (computer science)

text: In C, variables with block scope enter context when they are declared (not at the top of the block), go out of context if any (non-nested) function is called within the block, come back into context when the function returns, and go out of context at the end of the block. In the case of automatic local variables, they are also allocated on declaration and deallocated at the end of the block, while for static local variables, they are allocated at program initialization and deallocated at program termination.


title: Scope (computer science)

text: The following program demonstrates a variable with block scope coming into context partway through the block, then exiting context (and in fact being deallocated) when the block ends:


title: Scope (computer science)

text: There are other levels of scope in C. Variable names used in a function prototype have function prototype visibility, and exit context at the end of the function prototype. Since the name is not used, this is not useful for compilation, but may be useful for documentation. Label names for GOTO statement have function scope, while case label names for switch statements have block scope (the block of the switch).


title: Scope (computer science)

text: All the variables that we intend to use in a program must have been declared with its type specifier in an earlier


title: Scope (computer science)

text: point in the code, like we did in the previous code at the beginning of the body of the function main when we


title: Scope (computer science)

text: A variable can be either of global or local scope. A global variable is a variable declared in the main body of the


title: Scope (computer science)

text: source code, outside all functions, while a local variable is one declared within the body of a function or a block.


title: Scope (computer science)

text: In general, a set of brackets defines a particular scope, but variables at top level within a class can differ in their behavior depending on the modifier keywords used in their definition.


title: Scope (computer science)

text: JavaScript has simple "scope rules", but variable initialization and name resolution rules can cause problems, and the widespread use of closures for callbacks means the lexical context of a function when defined (which is used for name resolution) can be very different from the lexical context when it is called (which is irrelevant for name resolution). JavaScript objects have name resolution for properties, but this is a separate topic.


title: Scope (computer science)

text: JavaScript has lexical scope nested at the function level, with the global context being the outermost context. This scope is used for both variables and for functions (meaning function declarations, as opposed to variables of function type). Block scope with the codice_3 and codice_4 keywords is standard since ECMAScript 6. Block scope can be produced by wrapping the entire block in a function and then executing it; this is known as the immediately-invoked function expression (IIFE) pattern.


title: Scope (computer science)

text: While JavaScript scope is simple—lexical, function-level—the associated initialization and name resolution rules are a cause of confusion. Firstly, assignment to a name not in scope defaults to creating a new global variable, not a local one. Secondly, to create a new local variable one must use the codice_5 keyword; the variable is then created at the top of the function, with value codice_7 and the variable is assigned its value when the assignment expression is reached:


title: Scope (computer science)

text: This is known as "variable hoisting"—the declaration, but not the initialization, is hoisted to the top of the function. Thirdly, accessing variables before initialization yields codice_7, rather than a syntax error. Fourthly, for function declarations, the declaration and the initialization are both hoisted to the top of the function, unlike for variable initialization. For example, the following code produces a dialog with output <samp>undefined</samp>, as the local variable declaration is hoisted, shadowing the global variable, but the initialization is not, so the variable is undefined when used:


title: Scope (computer science)

text: Further, as functions are first-class objects in JavaScript and are frequently assigned as callbacks or returned from functions, when a function is executed, the name resolution depends on where it was originally defined (the lexical context of the definition), not the lexical context or execution context where it is called. The nested scopes of a particular function (from most global to most local) in JavaScript, particularly of a closure, used as a callback, are sometimes referred to as the scope chain, by analogy with the prototype chain of an object.


title: Scope (computer science)

text: Closures can be produced in JavaScript by using nested functions, as functions are first-class objects. Returning a nested function from an enclosing function includes the local variables of the enclosing function as the (non-local) lexical context of the returned function, yielding a closure. For example:


title: Scope (computer science)

text: Closures are frequently used in JavaScript, due to being used for callbacks. Indeed, any hooking of a function in the local context as a callback or returning it from a function creates a closure if there are any unbound variables in the function body (with the context of the closure based on the nested scopes of the current lexical context, or "scope chain"); this may be accidental. When creating a callback based on parameters, the parameters must be stored in a closure, otherwise it will accidentally create a closure that refers to the variables in the enclosing context, which may change.


title: Scope (computer science)

text: Name resolution of properties of JavaScript objects is based on inheritance in the prototype tree—a path to the root in the tree is called a "prototype chain"—and is separate from name resolution of variables and functions.


title: Scope (computer science)

text: The original Lisp used dynamic scope; it was Scheme, inspired by ALGOL, that introduced static (lexical) scope to the Lisp family.


title: Scope (computer science)

text: Maclisp used dynamic scope by default in the interpreter and lexical scope by default in compiled code, though compiled code could access dynamic bindings by use of codice_104 declarations for particular variables. However, Maclisp treated lexical binding more as an optimization than one would expect in modern languages, and it did not come with the closure feature one might expect of lexical scope in modern Lisps. A separate operation, codice_105, was available to somewhat clumsily work around some of that issue.


title: Scope (computer science)

text: ISLISP has lexical scope for ordinary variables. It also has dynamic variables, but they are in all cases explicitly marked; they must be defined by a codice_106 special form, bound by a codice_107 special form, and accessed by an explicit codice_108 special form.


title: Scope (computer science)

text: Some other dialects of Lisp, like Emacs Lisp, still use dynamic scope by default. Emacs Lisp now has lexical scope available on a per-buffer basis.


title: Scope (computer science)

text: For variables, Python has function scope, module scope, and global scope. Names enter context at the start of a scope (function, module, or global scope), and exit context when a non-nested function is called or the scope ends. If a name is used prior to variable initialization, this raises a runtime exception. If a variable is simply accessed (not assigned to), name resolution follows the LEGB (Local, Enclosing, Global, Built-in) rule which resolves names to the narrowest relevant context. However, if a variable is assigned to, it defaults to declaring a variable whose scope starts at the start of the level (function, module, or global), not at the assignment. Both these rules can be overridden with a codice_1 or codice_2 (in Python 3) declaration prior to use, which allows accessing global variables even if there is a masking nonlocal variable, and assigning to global or nonlocal variables.


title: Scope (computer science)

text: Note that codice_12 is defined before codice_37 is called, so no error is raised, even though it is defined after its reference in the definition of codice_37. Lexically this is a forward reference, which is allowed in Python.


title: Scope (computer science)

text: Here assignment creates a new local variable, which does not change the value of the global variable:


title: Scope (computer science)

text: Assignment to a variable within a function causes it to be declared local to the function, hence its scope is the entire function, and thus using it prior to this assignment raises an error. This differs from C, where the scope of the local variable start at its declaration. This code raises an error:


title: Scope (computer science)

text: The default name resolution rules can be overridden with the codice_1 or codice_2 (in Python 3) keywords. In the below code, the codice_116 declaration in codice_38 means that codice_12 resolves to the global variable. It thus can be accessed (as it has already been defined), and assignment assigns to the global variable, rather than declaring a new local variable. Note that no codice_1 declaration is needed in codice_37—since it does not assign to the variable, it defaults to resolving to the global variable.


title: Scope (computer science)

text: codice_1 can also be used for nested functions. In addition to allowing assignment to a global variable, as in an unnested function, this can also be used to access the global variable in the presence of a nonlocal variable:


title: Scope (computer science)

text: For nested functions, there is also the codice_2 declaration, for assigning to a nonlocal variable, similar to using codice_1 in an unnested function:


title: Scope (computer science)

text: R is a lexically scoped language, unlike other implementations of S where the values of free variables are determined by a set of global variables, while in R they are determined by the context in which the function was created. The scope contexts may be accessed using a variety of features (such as codice_124) which can simulate the experience of dynamic scope should the programmer desire.


title: Scope (computer science)

text: Variables created or modified within a function stay there unless assignment to enclosing scope is explicitly requested:


title: Four Kids and It

text: Four Kids and It is a 2020 British fantasy film directed by Andy De Emmony and written by Simon Lewis and Mark Oswin. It is based on the 2012 novel "Four Children and It" by Jacqueline Wilson, which is based on E. Nesbit's 1902 novel "Five Children and It".


title: Four Kids and It

text: The film is set at a beach in Cornwall where siblings (Ros and Robbie) spend a holiday with their father (David), his girlfriend (Alice), and her daughters (Samantha and Maudie). The children dislike each other at first but begin to get along once they discover a mysterious magical creature, Psammead or Sand Fairy, on the beach. Psammead can grant one wish a day, but the wish ends at sunset.


title: Four Kids and It

text: Using a wish with Psammead, the children travel back 100 years. There they meet the aristocratic Tristan Trent who holds Ros at gunpoint and demands to know about the Sand Fairy. However, Samantha, Robbie, and Maudie ask Psammead for superpowers and rescue Ros.


title: Four Kids and It

text: Next, the children travel to the past to learn how to make a wish permanent, but are unsuccessful. The children return to the present, where Tristan Trent III wants to use the Sand Fair for dastardly deeds. Tristan finds the Sand Fairy's location by putting a tracking device under Ros's shoe. The children take Psammead with them and trap Tristan on the beach.


title: Four Kids and It

text: Afterward, the children realize they like each other. They take Psammead to their house, hiding him from their parents in the bathroom.


title: Four Kids and It

text: The film has an approval rating of based on reviews on "Rotten Tomatoes", with an average rating of . The site's critics' consensus reads: ""Four Kids and It" has a few moments of whimsy and charm, but it's not enough to leave a lasting impression." On "Metacritic", the film has a weighted average score of 42 out of 100 based on reviews from seven critics, indicating "mixed or average reviews".


title: Four Kids and It

text: Guy Lodge of "Variety" wrote, "'Careful what you wish for' may have been the essential moral takeaway from the sourcebooks, but that wasn't to discourage wishing for anything at all: In all respects, this serviceable but anodyne programmer could dream a bit bigger." Justin Lowe of "The Hollywood Reporter" called it "More curio than classic, "Four Kids and It" may hold children's attention (and sometimes test adults' patience) over the movie's brief running time, but seems unlikely to inspire many a second viewing." Anna Smith of "Empire" wrote: "The kids and Caine are good, but this lacks the magic of its source novels. Younger children may enjoy it, but its attempts to entertain older viewers mostly fall flat."


title: New England Small College Athletic Conference

text: The New England Small Collegiate Athletic Conference (NESCAC) is an American collegiate athletic conference comprising sports teams from eleven highly selective liberal arts institutions of higher education in the Northeastern United States. The eleven institutions are Amherst College, Bates College, Bowdoin College, Colby College, Connecticut College, Hamilton College, Middlebury College, Tufts University, Trinity College, Wesleyan University, and Williams College.


text: The conference originated with an agreement among Amherst, Bowdoin, Wesleyan and Williams in 1955. In 1971, Bates, Colby, Hamilton, Middlebury, Trinity, Tufts, and Union College joined on and the NESCAC was officially formed. Union withdrew in 1977 and was replaced by Connecticut College in 1982. The members are grouped within the NCAA Division III athletic conference. Members of the conference have some of the largest financial endowments of any liberal arts colleges in the world, with Williams College's $3.89 billion being the largest. Undergraduate enrollment at the schools ranges from about 1,800 to 6,000 (Tufts).


text: Williams began its inaugural football season in 1881 and its rivalry with Amherst College is one of the longest at any level of college football. Tufts and Harvard played the first football game between two American colleges on June 4, 1875 which Tufts won 1-0. Bates and Bowdoin have competed against each other athletically since the 1870s and subsequently share one of the ten oldest NCAA Division III football rivalries, in the United States, there is a long history of athletic competition between the two colleges and Colby. Colby began its now most notable hockey rivalry, with Bowdoin in 1922.


text: In 1899, Amherst, Wesleyan and Williams schools first began to compete together as the "Triangular League". Since then they have continued to play each other in most sports on a regular basis. The conference originated with an agreement among Amherst, Bowdoin, Wesleyan and Williams in 1955. Later, Bates, Colby, Connecticut College, Hamilton, Middlebury, Trinity, Tufts joined and the NESCAC was officially formed. The Conference was created out of a concern for the direction of intercollegiate athletic programs and remains committed to keeping a proper perspective on the role of sport in higher education.


text: Member institutions believe athletic teams should be representative of school's entire student bodies and hew to NCAA Division III admissions and financial policies prohibiting athletic scholarships while awarding financial aid solely on the basis of need. Due to the prestigious reputations of its member schools, the NESCAC is able to attract many of the most athletically and intellectually gifted student-athletes in the country. Members stress that intercollegiate athletic programs should operate in harmony with the educational mission of each institution. Schools are committed to maintaining common boundaries to keep athletics strong yet in proportion to their overall academic mission. Presidents of each NESCAC institution control intercollegiate athletic policy. Conference tenets are usually more restrictive than those of the NCAA Division III regarding season length, number of contests and post-season competition.


text: Four NESCAC institutions are among the 39 that founded the NCAA in 1905: Amherst, Tufts, Wesleyan, and Williams. Prior to 1993 NESCAC generally did not allow member schools to send teams to NCAA championships. Since then all sports except football have had this freedom, many excelling in the NCAA Division III championships. The NACDA Directors' Cup, awarded since 1996 to the college or university in each NCAA Division that wins the most college championships, has been claimed at the Division III level by a NESCAC institution every year except 1998. In the 2012–13 season, four of the top ten NACDA Director's Cup institutions were from NESCAC: Williams (1), Middlebury (3), Amherst (6), and Tufts (8).


text: Member colleges of the athletic conference possesses some of the largest financial endowments in the world. As of the 2021-2022 academic year, Williams College in Williamstown, Massachusetts, has the largest endowment of any college in the conference, followed closely by Amherst, and then Bowdoin and Tufts respectively. Admission to NESCAC institutions is often highly competitive, with most member schools touting acceptance rates lower than 15 percent as of the 2020-2021 admissions cycle. Many NESCAC schools are also some of the oldest institutions of higher education in the United States, with Williams, Bowdoin and Middlebury being among the 40 oldest institutions in the country.


text: Many schools in the New England Small College Athletic Conference are known for low grade inflation, grade deflation, and rigorous academic standards. Some members have received limited media coverage over perceived grade inflation and deflation.


text: The colleges are also known for a range of high and relatively low tuition rates and comprehensive fees. Some of the colleges have been named the most expensive in the United States.


text: Most applicants to schools in the NESCAC come from the Northeast, largely from the New York City, Boston, and Philadelphia areas. As all NESCAC schools are located on the East Coast, and all but one are in New England, most graduates end up working and residing in the Northeast after graduation.


text: Total revenue includes ticket sales, contributions and donations, rights/licensing, student fees, school funds, and all other sources including TV income, camp income, food, and novelties. Total expenses includes coaching/staff, buildings/grounds, maintenance, utilities and rental fees, and all other costs including recruiting, team travel, equipment and uniforms, conference dues, and insurance costs.


text: Many colleges banned fraternities and sororities on the grounds of unwarranted exclusivity, and provided on-campus social houses for all students to engage with. Williams College displaced their fraternity system in the 1960s due to high levels of racial and religious discrimination. Williams College President Chandler stated, "there remained the system of blackballing and secret agreements between some fraternities and their national bodies to exclude blacks and Jews... it was essentially a caste system based on socioeconomic status as perceived by students."


text: Bates rejected the fraternity system in 1855, when it was founded. Colby disbanded its fraternities and sororities in 1984. At Bowdoin, fraternities were phased out in 2000. Despite the lack of Greek life, NESCAC schools are widely known for a prominent drinking culture.


text: Schools within the NESCAC conference have made institutional efforts to diversify student body, and attract and wide range of students to their institutions. Many schools in the NESCAC provide significant financial aid to help increase the enrollment of lower income and middle class students.


text: Schools in the New England Small College Athletic Conference have graduated three U.S. presidents. The first president to graduate from the athletic conference was Franklin Pierce, the 14th president of the United States, a Bowdoin graduate of 1824. The 20th president, James A. Garfield, graduated from Williams College in 1856. The third U.S. president to graduate from a NESCAC institution was Calvin Coolidge, who graduated from Amherst College in 1895. President Chester Arthur was an 1848 graduate of Union College, a former NESCAC member, and President Woodrow Wilson was a professor at Wesleyan from 1888 to 1890.


text: The New England Small College Athletic Conference sponsors championship competition in 13 men's and 14 women's NCAA sanctioned sports.


text: Men's varsity sports not sponsored by the New England Small College Athletic Conference that are played by NESCAC schools


text: Women's varsity sports not sponsored by the New England Small College Athletic Conference that are played by NESCAC schools


text: Until the 2017 season, the 10 football-playing NESCAC schools only played 8 regular season games. On April 27, 2017, the NESCAC announced that it would adopt a full 9-game round robin schedule.


text: In addition to the ban on postseason play, the NESCAC football league is notable for member teams playing conference games only. While some Division II and Division III teams play only conference schedules, NESCAC is unique in all of its members playing only within conference games.


text: NESCAC Baseball is the only men's sport to utilize divisions. Bates, Bowdoin, Colby, Tufts, and Trinity compete in the East Division, while Amherst, Hamilton, Middlebury, Wesleyan, and Williams compete in the West Division. Connecticut College does not sponsor baseball.


text: The NESCAC has won the College World Series once: by the Trinity Bantams in 2008. Current member schools have appeared in the College World Series a combined total of 5 times.


text: The Middlebury Panthers lead the NESCAC in NCAA men's titles with 15, while the Williams Ephs lead in women's titles with 30 and in overall NCAA titles with 38. Excluded from this list are all national championships earned outside the scope of NCAA competition, including women's AIAW championships.


title: 2001 NBA playoffs

text: The 2001 NBA playoffs was the postseason tournament of the National Basketball Association's 2000-01 season. The tournament concluded with the Western Conference champion Los Angeles Lakers defeating the Eastern Conference champion Philadelphia 76ers 4 games to 1. Shaquille O'Neal was named NBA Finals MVP for the second straight year. Since 2001, the 76ers have not returned to the NBA Finals.


title: 2001 NBA playoffs

text: This was the 76ers' first Finals appearance since Moses Malone and Julius Erving led the 1983 team to the NBA title (coincidentally, last defeating the Lakers) in the famous "fo', fo', fo'" year (it ended up being "fo', fi', fo'", as Philadelphia lost one second-round game to the Milwaukee Bucks that year).


title: 2001 NBA playoffs

text: However, it was the Lakers' turn to put together the most dominant postseason in NBA history, going 15–1 with their only loss coming in OT to the Sixers in Game 1 of the Finals. They set many records, including going undefeated in regulation and on the road (finishing 8–0 in the latter category). They were the second NBA champion to defeat four 50-win or better teams on their way to the title as the Rockets did it first in 1995. The Lakers also equaled the previous records set by their 1989 team by winning their first 11 post-season games and sweeping three series in the post-season. Their playoff dominance would be bested after the first round of playoffs was extended to a best of seven format instead of the best of five in the 2003 NBA playoffs by the 2016-17 Golden State Warriors who would go 16-1 on their way to their fifth championship.


title: 2001 NBA playoffs

text: The Milwaukee Bucks won their first playoff series since 1989, made the Eastern Conference Finals for the first time since 1986 and won the division for the first time since that year.


title: 2001 NBA playoffs

text: The Dallas Mavericks made the playoffs for the first time since 1990. Along the way they had many abysmal seasons, including back-to-back years with 11 and 13 wins. By beating Utah in the first round, they won their first playoff series since 1988. Reunion Arena, their home court for 21 years, hosted its last game (Game 4 of the Western Conference Semifinals against the Spurs); they moved to American Airlines Center, the next season.


title: 2001 NBA playoffs

text: The Sacramento Kings won their first playoff series since 1981 (when they were the Kansas City Kings) and the first since moving to Sacramento.


title: 2001 NBA playoffs

text: The Toronto Raptors won their first playoff series in franchise history 3–2 over the New York Knicks. For the first time since 1991, the Knicks failed to win a first-round playoff series.


title: 2001 NBA playoffs

text: The San Antonio Spurs clinched the best record in the NBA, and earned home court advantage throughout the entire playoffs. However, when they lost to the Los Angeles Lakers in the Western Conference Finals, the Lakers gained home court advantage for the NBA Finals. San Antonio's 58 games remains the lowest for a team with home court advantage throughout the playoffs, being 3 games fewer than the Pacers and Cavs' 61 in 2004 and 2010, respectively.


title: 2001 NBA playoffs

text: The Philadelphia 76ers clinched the best record in the Eastern Conference, and had home court advantage throughout the Eastern Conference playoffs.


title: 2001 NBA playoffs

text: This was the fourth playoff meeting between these two teams, with the Pacers winning two of the first three meetings.


title: 2001 NBA playoffs

text: This was the second playoff meeting between these two teams, with the Knicks winning the first meeting.


title: 2001 NBA playoffs

text: This was the second playoff meeting between these two teams, with the Spurs winning the first meeting.


title: 2001 NBA playoffs

text: This was the tenth playoff meeting between these two teams, with the Lakers winning seven of the first nine meetings.


title: 2001 NBA playoffs

text: This was the fourth playoff meeting between these two teams, with the Suns winning two of the first three meetings.


title: 2001 NBA playoffs

text: This was the second playoff meeting between these two teams, with the Mavericks winning the first meeting.


title: 2001 NBA playoffs

text: This was the ninth playoff meeting between these two teams, with the Lakers winning seven of the first eight meetings.


title: 2001 NBA playoffs

text: This was the ninth playoff meeting between these two teams, with the 76ers winning five of the first eight meetings.


title: 2001 NBA playoffs

text: This was the seventh playoff meeting between these two teams, with the Lakers winning four of the first six meetings.


title: 2001 NBA playoffs

text: This was the sixth playoff meeting between these two teams, with the Lakers winning four of the first five meetings.


title: Masayoshi Soken

text: Born in La Paz, Baja California Sur, Mexico, Soken and his family later moved to Tokyo, where he attended the Tokyo University of Science, majoring in chemistry. He was exposed to music at a young age—his father was a professional trumpet player and his mother taught piano. Rather than pursue a career in science, he was hired as a sound editor and designer at Konami. He joined Square in 1998 and his early work at the company primarily focused on sound effect design, rather than composition. He assisted Kenji Ito on sports video games such as "Gekikuukan Pro Baseball: The End of the Century 1999". His debut as a composer came with the Japan-exclusive sports games "Nichibeikan Pro Baseball: Final League", in which he was the sole composer, and "World Fantasista" with synthesizer programmer Takeharu Ishimoto.


title: Masayoshi Soken

text: In 2005, Soken worked on "Drakengard 2" and "". The following year, Soken composed and arranged the score to "Mario Hoops 3-on-3". Along with Kenji Ito and Tsuyoshi Sekito, he created the soundtrack to "Dawn of Mana" (known as ""Seiken Densetsu 4"" in Japan), with Academy Award-winning composer Ryuichi Sakamoto providing the main theme. Soken also arranged a few tracks from previous "Mana" games, and performed the electric guitar for his arrangements. In 2007, he scored the online game "Elebest" with Ai Yamashita.


title: Masayoshi Soken

text: Soken has also contributed to Square Enix advertisements; "" (2005) featured the sports commercial song "Blue Stream", Soken's only composition in the game. He also participated in a Square Enix advertisement for pencils where he got beaten up by two robots; the commercial featured music composed by him. Soken created the fanfare for Square Enix Music TV, a monthly video feature where new album releases are discussed and interviews with Square Enix composers are conducted. For the iTunes-exclusive "Square Enix Music Official Bootleg" collection, Soken contributed the piece "Dog Street" for the first volume in 2006, and "Languid Afternoon" for the third volume in 2007; he went under the alias "Sorbonne Soken" on the third volume. In 2008, he composed the Japan-exclusive "Nanashi no Game", this time under the pseudonym "Luis Noma". In 2010, he composed another sports game for the Wii, "Mario Sports Mix".


title: Masayoshi Soken

text: Since the 2010 development team reshuffling, he has been sound director for "Final Fantasy XIV". Soken became primary composer for the title with the launch of "A Realm Reborn" and the expansions that followed. He formed a rock band called The Primals with members of the sound team to play at "Final Fantasy XIV" events such as Fan Festival. The Primals have since released several albums starting with "Final Fantasy XIV: From Astral to Umbral". Following Nobuo Uematsu's illness in 2018, Soken composed the main theme for "Shadowbringers". With the previous expansions' main theme songs having previously been composed by Uematsu, this made "Shadowbringers" soundtrack the first in the "Final Fantasy XIV" series to be entirely written by Soken.


title: Masayoshi Soken

text: In May 2021, during the "Final Fantasy XIV Digital Fan Festival", Soken announced that he had been receiving chemotherapy for cancer treatment throughout most of 2020, adding that the cancer was in remission. Soken kept the treatment hidden from most of the development team, doing some of his work for "Final Fantasy XIV" from hospital.


title: Masayoshi Soken

text: In September 2020, Square Enix announced that "Final Fantasy XVI" was in development for PlayStation 5. Though not detailed initially, in June 2022, further information was revealed, including that Soken would be the game's lead composer.


title: Masayoshi Soken

text: Soken primarily approaches his game composing with the player's experience in mind. When tasked with arranging "Final Fantasy" music originally composed by Nobuo Uematsu, he takes extra care to achieve this goal. Soken credits his experience as a sound designer, sound editor, and voice editor for helping him handle the pressure of the "Final Fantasy XIV" remake. He primarily composes using piano and keyboard but prefers playing guitar in live performances.


title: Ford Mondeo (second generation)

text: The Ford Mondeo Mk3 (second generation) model was launched by Ford in October 2000. This Mondeo was considerably larger than its predecessor, and although Ford abandoned its New Edge design theme for the second generation, it was their first vehicle to fully benefit from the Prodigy concept car. This gave it an overall effect which many critics felt was more restrained and mature, if much less distinctive. Two of the old car's biggest weaknesses, the modest rear legroom, and uncompetitive diesel version were addressed by a longer wheelbase and the new Duratorq diesel engine. The basic chassis and suspension design was carried over from the previous generation, which meant that the car continued its predecessor's reputation for class leading handling and ride. This Mondeo came to Mexico, replacing the North American built Ford Contour, and was sold from 2001 to 2007, when the Ford Fusion replaced it. The North American market Fusion and Ford Five Hundred/Taurus sported very similar styling, inside and out.


title: Ford Mondeo (second generation)

text: Following the standard setting interior of the Volkswagen Passat (B5) in 1996, Ford paid a great deal of attention to the second generation Mondeo's interior and was the first major American manufacturer to react to the new standard set by Volkswagen. Ford dispensed with the rounded American style interior of the first generation, and developed a more sober 'Germanic' design, which not only seemed more sophisticated but, more importantly, was of a higher quality due to the use of more expensive materials.


title: Ford Mondeo (second generation)

text: LX, Zetec, Zetec S, Ghia, Ghia X and ST. Despite this, a mid-cycle facelift in 2003 saw the introduction of some new trim levels. Titanium and Titanium X slotted in between Zetec S and Ghia, and ST220 slotted in above ST.


title: Ford Mondeo (second generation)

text: As with its predecessor, passive safety was a major selling point of the 2000 Mondeo. With an even stronger bodyshell, Ford introduced its so-called "Intelligent Protection System" (IPS), which used an "intelligent" array of sensors based on a neural network, to decide the best combination of safety devices (traditional front passenger airbags, side airbags and curtain airbags) to deploy for a given crash situation. To enhance active safety, all models were fitted with anti-lock brakes and electronic brake-force distribution, with electronic stability program (ESP) available as an option. Performance blue was also an option at £2000. Ford's marketing of the time claimed the Mondeo was 'One of the safest places to be'. However, Euro NCAP's testing of the 2000 to 2007 Mondeo found that it protected worse than most key rivals (Vauxhall Vectra, Citroën C5, Toyota Avensis, Volkswagen Passat), achieving a lower-end 4 star rating. Ford redesigned part of the car and it was re-tested, but the higher-than-average risk of chest injury to the driver in the frontal impact remained because the first and second generation Mondeo were based on the relatively dated CDW27 platform which related to the Mazda GE platform designed in late 1980s.


title: Ford Mondeo (second generation)

text: The Mondeo established itself as Britain's most popular automobile in its class and held this position every year from 2001 onwards, though this size of car has fallen slightly in popularity during the 2000s. This version of the Mondeo has never come higher than sixth in the SMMT's official list of the top selling cars in the UK each year. In 2003, it came tenth in the list.


title: Ford Mondeo (second generation)

text: The second generation Mondeo was never sold in Australia, as Ford Australia argued that the segment of the market was in decline. However in neighbouring New Zealand, it was voted Car of the Year in 2002 by the New Zealand Motoring Writers' Guild.


title: Ford Mondeo (second generation)

text: For the second generation Mondeo, the Zetec engine was replaced with 1.8 and 2.0 litre Mazda L engines, branded Duratec by Ford. The standard 2.5 L V6 engine was carried over, while a 3.0 L version was developed for the ST220 and higher trim models.


title: Ford Mondeo (second generation)

text: There was a design flaw with the new 1.8 and 2.0 L petrol units with the butterfly valves in the inlet manifold, which could cause severe engine damage when they failed. The plastic components of the butterfly valves wear out too quickly and when loose enough can result in them falling apart and releasing metal and plastic parts into the engine cylinders, potentially causing severe engine damage (How to Diagnose) The part was upgraded by Ford in late 2002 to early 2003 and this largely prevented the problem from occurring in later engines, though random failures have still been reported on even the upgraded parts.


title: Ford Mondeo (second generation)

text: The archaic Endura-D 1.8 L turbodiesel engine was dropped, and replaced by a more sophisticated 2.0 L 16v Duratorq common rail (TDCi and TDDi) unit with a fixed or variable geometry turbine, this clever turbine system allows a certain amount of "overboost", giving an extra 10% or so of torque for short periods. This engine, known within Ford as the "Puma"-type Duratorq, was first seen in the Transit in detuned form.


title: Ford Mondeo (second generation)

text: A new automatic transmission was added to the range called the Durashift. This unit has five gears and may be shifted manually or shifted like an automatic. A six-speed manual transmission was also added to the range, instead of just having a five-speed manual as seen in the previous model.


title: Ford Mondeo (second generation)

text: In June 2003, the Mondeo was given a very mild upgrade, the new models being identifiable by the larger chrome honeycomb grille, redesigned fog lights, a new central dashboard made from higher quality materials, with electronic climate control, either a standard Ford radio, Sony radio, or a satellite navigation radio/CD player, which also has climate control built into the unit in lieu of the space taken up by the unit. The Durashift automatic is now available with steering wheel control. The petrol engines were revised at this stage also — the new SCI (direct injection) version of the 1.8 L Duratec engine was introduced, which generates 4 kW (5 PS) more than the standard unit. In addition, equipment was upgraded across the range — with trip computer now standard on all models, and cruise control is also standard in selected trim levels and markets.


title: Ford Mondeo (second generation)

text: The main Sports version was the ST220, replacing the ST200 from the last model series. This was available in liftback, estate and saloon form. The ST220 produced from the newly developed 3.0-litre V6 engine, which made it capable of 0 to in 7.4 seconds, and on to a maximum speed of . There was also a ST TDCi, a sports version of the regular diesel. This, available in all forms, had a 2.2-litre 4-cyl diesel engine, developing . It accelerated from 0 to in 8.2 seconds, and had a maximum speed of .


title: Ford Mondeo (second generation)

text: The higher range models, (i.e. the Zetec S, Ghia X and Titanium X), now had two V6 engines available; one being the existing Duratec 25 carried over from the previous model, and one being a Duratec 30; a quieter, smoother variant of the ST220 3.0-litre engine, which produced . This was not dissimilar in performance to the ST220, with a 0 to time of 7.9 seconds and a top speed of .


title: Ford Mondeo (second generation)

text: In 2005, there were two new Duratorq common rail (TDCi) options, a 2.2L with 114 kW (155 PS) and a detuned version of the 2.0L with 65 kW (89 PS). Also, the Seat Belt Warning System was added and is now standard, with an audible/visual warning signal reminding the driver to fasten his/her seat belt. The styling was upgraded again, the most notable difference being tweaked taillights.


title: Ford Mondeo (second generation)

text: In Mexico, the model was similar to the European version to replace the Ford Contour. Trim levels were Core, Edge, Ghia and 100 units of the ST220 (sold as a limited edition), it was sold only with the 2.0 4-cylinder, 2.5 V6 and 3.0 V6 (for the ST220) petrol: no turbodiesel or estate versions were available in Mexico. Its nearest rival were the Chevrolet Vectra and Volkswagen Passat. 2007 was the last year of the Mondeo for Mexico, being sold together with the Ford Fusion until it finally replaced it.


title: Ford Mondeo (second generation)

text: In Taiwan, the second generation Ford Mondeo (CD132) was produced in Chungli, Taiwan from 2001. It was redesigned and marketed by Ford Lio Ho as the Ford Mondeo Metrostar. The redesign featured 17 inch alloys, 14 inch brake disks, a completely redesigned front end and restyled tail lamps, while the interior remained the same as the European model, featuring Nappa leather and the IP imported from Germany. Two versions of the grilles were offered, with the earlier one featuring vertical bars with the Ford badge on the top and the latter-launched one from 2003 for the V6 models featuring horizontal bars and the Ford oval in the center. The V6 version of the grilles were later available in lower trim models as the Koln Edition. A facelift called the Ford Mondeo Metrostar A+ was launched by the end of 2003, featuring completely redesigned front end and restyled tail lamps once again. The Europe spec Mondeo RS model was also produced in Taiwan starting from 2002 and offered as a sportier variant, while the European Mondeo ST220 performance model was imported.


title: Ford Mondeo (second generation)

text: In China, the version sold was the top of the trim Taiwanese Ford Mondeo Metrostar exported from Taiwan, the Mondeo Metrostar Ghia X model, which was not offered in Taiwan, and sold from over 300,000 RMB initially. Later prices of the Taiwan-produced model were dropped to 230,000 RMB. After the Ford Mondeo Metrostar A+ facelift, Changan Ford started to produce the Ford Lio Ho designed model domestically as the Ford Mondeo in China, and a minor facelift featuring a new front bumper was launched later.


title: Don Hutson

text: Donald Montgomery Hutson (January 31, 1913 – June 26, 1997) was an American professional football player and assistant coach in the National Football League (NFL). He played as an end and spent his entire 11-year professional career with the Green Bay Packers. Under head coach Curly Lambeau, Hutson led the Packers to four NFL Championship Games, winning three: 1936, 1939, and 1944.


title: Don Hutson

text: Hutson joined the Packers in 1935 and played 11 seasons before he retired in 1945. He led the league in receiving yards in seven separate seasons and in receiving touchdowns in nine. A talented safety on defense, he also led the NFL in interceptions in 1940. Hutson was an eight-time All-Pro selection, a four-time All-Star, and was twice awarded the Joe F. Carr Trophy as the NFL Most Valuable Player.


title: Don Hutson

text: Hutson is considered to have been the first modern wide receiver, and is credited with creating many of the modern pass routes used in the NFL today. He was the dominant receiver of his day, and is widely considered one of the greatest receivers in NFL history. Hutson was the first 1,000 yard receiver in the NFL. He held almost all major receiving records at the time of his retirement, including career receptions, yards, and touchdowns. He was inducted as a charter member of both the College Football Hall of Fame and the Pro Football Hall of Fame. Hutson's number 14 was the first jersey retired by the Packers, and he is a member of the Green Bay Packers Hall of Fame. Hutson was selected to the National Football League 50th Anniversary All-Time Team as one of the greatest players of the NFL's first 50 years in 1969, to the 75th in 1994, and to the 100th in 2019.


title: Don Hutson

text: Hutson was born on January 31, 1913, in Pine Bluff, Arkansas, one of three sons of Roy B. Hutson and Mabel Clark Hutson. While a Boy Scout, he played with snakes. He said that is where he got his quickness and agility. As a teenager Hutson played baseball for Pine Bluff's town team. As a senior at Pine Bluff High School he was an all-state basketball player, which he said was his favorite sport. "I'm like most [athletes]," he said. "I'd rather see football, but I'd rather play basketball." Hutson played one year of football at Pine Bluff.


title: Don Hutson

text: Hutson played at end for coach Frank Thomas's Alabama Crimson Tide football team from 1932 to 1934. Bear Bryant, future long-time coach of the Tide, was the self-described "other end" on the Tide in 1933 and 1934. Bryant once remarked, "...he was something to see even then. We'd hitchhike to Pine Bluff just to watch him play. I saw him catch five touchdown passes in one game in high school."


title: Don Hutson

text: Sportswriter Morgan Blake ranked the undefeated 1934 Tide as the best team he ever saw. Hutson's College Football Hall of Fame profile reads: "Fluid in motion, wondrously elusive with the fake, inventive in his patterns and magnificently at ease when catching the ball ... Hutson and fellow Hall of Famer Millard "Dixie" Howell became football's most celebrated passing combination." Hutson had six catches for 165 yards, including two touchdowns of 54 and 59 yards in the 1935 Rose Bowl against Stanford. He also scored the winning touchdown over Robert Neyland's Tennessee Volunteers on an end-around.


title: Don Hutson

text: Hutson was recognized as a first-team All-American for six different organizations and received a second-team selection by one other. In an attempt to name retroactive Heisman Trophy winners before its first year of 1936, Hutson was awarded it for 1934 by the National Football Foundation. Georgia Tech coach Bill Alexander once said, "All Don Hutson can do is beat you with clever hands and the most baffling change of pace I've ever seen."


title: Don Hutson

text: When he graduated from Alabama, Hutson did not plan on playing professionally. In those days, the NFL was not highly regarded in the South compared to college football. But Green Bay Packers head coach Curly Lambeau saw Hutson as the perfect receiver for his passing attack, which at the time was headed by quarterback Arnie Herber and end John "Blood" McNally. By this time, a number of teams, including Alabama, were experimenting with spreading the field by moving one end far out near the sideline, drawing the defense away from running plays and leaving them more open on passing ones. Hutson had thrived in this scheme, leading Lambeau to conclude that he would be the perfect fit for Green Bay's offense.


title: Don Hutson

text: Before the draft existed, college players could sign with any team they wanted, and while Hutson did sign a contract with Green Bay, he had also signed a contract with the NFL's Brooklyn Dodgers. Both contracts came to the NFL office at the same time, and NFL president Joseph Carr declared that Hutson would go to Green Bay, as the Green Bay contract had an earlier date of signing. Hutson later stated he chose the Packers because they offered the most money—$300 a game. "That was far and above what they had ever paid a player," said Hutson. "Each week they'd give me a check for $150 from one bank and $150 from another so nobody would know how much I was getting paid."


title: Don Hutson

text: Hutson's first catch as a professional was on an 83-yard touchdown pass from Herber on the first play from scrimmage against the Chicago Bears, in the second game of the 1935 season. It was the only score of the game as the Packers won 7–0. He caught six touchdowns total in his rookie season, which led the league. It was the first in a string of four straight seasons and nine seasons total that Hutson led the league in touchdown receptions. The next season the Packers won their fourth league title, with a 21–6 win over the Boston Redskins in the 1936 NFL Championship Game. Hutson scored the first touchdown of the game, on a 48-yard pass from Herber in the first quarter. Hutson completed the season with 34 receptions for 536 yards and eight touchdowns, which were all league records, and helped Herber set the NFL season passing yards record. Hutson's yardage record was broken the next season by Chicago Cardinals receiver Gaynell Tinsley, who challenged Hutson over the next few years for the title of best receiver in the NFL.


title: Don Hutson

text: In 1938, Hutson had nine touchdown receptions, again setting the league record, as he led the Packers to another NFL Championship Game, this time against the New York Giants. However, a knee injury he suffered four weeks earlier kept him out of the game's starting lineup. He entered as a substitute three separate times late in the game but was unable to be a factor, catching no passes as Green Bay was defeated 23–17.


title: Don Hutson

text: Hutson reclaimed the season receiving yards record from Tinsley in 1939 by catching 34 passes for 846 yards—an average of 24.9 yards per reception, the highest of his career. He again led the Packers to the championship game, for a rematch against the Giants. This time Green Bay was victorious, with a 27–0 shutout win. Hutson had two receptions in the game for 21 yards and a rushing attempt that went for three yards.


title: Don Hutson

text: In 1940, Hutson scored seven touchdowns and kicked 15 extra points to lead the league in scoring by edging out Rams fullback Johnny Drake by a single point. On September 29, Hutson caught his 38th career touchdown pass, breaking Johnny Blood's record. With 99 touchdown receptions for his career, he remained the record holder for almost 50 years, until surpassed by the last touchdown of Steve Largent's career in 1989.


title: Don Hutson

text: In 1941, Hutson became the first receiver to catch 50 passes in a season, doing so while again leading the league in receptions, receiving yards, and touchdowns. He also scored two rushing touchdowns, for a total of 12. After the season, he was awarded the Joe F. Carr Trophy as the league's most valuable player. He received six of the nine first place votes, finishing ahead of his quarterback Cecil Isbell, who received two first place votes.


title: Don Hutson

text: Hutson repeated as league MVP in 1942 as he shattered most of his own records; he caught 74 passes for 1,211 yards and 17 touchdowns and averaged over 110 receiving yards per game. This was the first time a receiver had reached the 1,000 yard milestone. He again received six of nine first place votes for the Joe F. Carr Trophy. "The selection did not rest alone on his great pass catching ability," reasoned the selection committee. "Also considered were his nuisance value as a disrupter of enemy defenses and his ability to transform the Packers into a confident, powerful aggregation in clutch situations." His production helped Isbell become the first NFL quarterback to throw for over 2,000 yards in a season.


title: Don Hutson

text: In February 1943, Hutson announced his retirement from football due to a lingering chest injury. He changed his mind and returned for the 1943 season, however, and caught 47 passes for 776 yards and eleven touchdowns, leading the league in all three. He also threw his first and only completed pass of his career: a 38-yard touchdown pass to Harry Jacunski against the Bears. Additionally, he successfully kicked 36 extra points on 36 tries, and had an 83-yard interception return touchdown. After the season Hutson again announced his intention to retire as a player, this time to be an assistant coach for the Packers. He once again returned as a player in 1944 and again led the league with 58 receptions, 866 yards, and nine touchdowns, while also serving as assistant coach. He led the Packers to the 1944 NFL Championship Game against the Giants and caught two passes for 47 yards, as the Packers won their third and final championship with Hutson, 14–7.


title: Don Hutson

text: For the third time in as many years Hutson announced his retirement, and for the third time he returned as a player in 1945. A sportswriter for "The Pittsburgh Press" jokingly declared Hutson "holder of the world's record for coming out of retirement." In a week three, 57–21 blowout win against the Detroit Lions, Hutson set an NFL record with four touchdown receptions in a game, all of them coming in the second quarter. He also kicked five extra points in the quarter, for a total of 29 points, which as of 2015 remains a record for points by a player in a single quarter.


title: Don Hutson

text: In all, Hutson caught 488 passes for 7,991 yards and 99 touchdowns. He rushed for three touchdowns, scored two touchdowns on blocked punts, and had an interception return touchdown for a career total of 105. He scored at least six receiving touchdowns in each of his 11 seasons. Hutson led the NFL in receptions eight times, including five consecutive times: 1941 to 1945. He led the NFL in receiving yards seven times, including four straight times: 1941 to 1944. He led the NFL in scoring five times: 1941 to 1945. As of 2016, Hutson still holds the highest career average touchdowns per game for a receiver, at 0.85. Hutson's single season record of 17 touchdown receptions in 1942 stood for 42 years until broken by receiver Mark Clayton in 1984, a year in which Miami's quarterback Dan Marino had more completions (362) than the entire 1942 Packers team's pass attempts (330). His four receiving touchdowns in a game has been surpassed three times and tied several times, but his four in a single quarter has yet to be matched. His record 99 touchdown receptions stood for 44 years, well into the modern era. In his 11-year professional career, Hutson never missed a game due to injury. He invented many pass routes still in use today, including the chair route.


title: Don Hutson

text: At his peak, Hutson was a challenge to defend, mainly because no one had ever seen anything like him in the NFL before. Even when opposing defenses deployed their best defender or multiple defenders against Hutson, he was almost always able to break free. Hutson's ability to beat defenders was remarkable considering he played in an era when there were far fewer restrictions on how and when a defender could legally hit a receiver. It was initially thought that the 6-1, 185-pound Hutson was too fragile for the NFL. However, according to Tony Canadeo, who played alongside Hutson from 1941 to 1944, Hutson was as skilled going over the middle as he was going deep.


title: Don Hutson

text: For many of his 11 seasons, Hutson was also the Packers' kicker. He added 172 extra points on 183 attempts and seven field goals on 15 attempts for another league record 823 points. He led the league in extra points made and attempted in 1941, 1942 and 1945 and in field goals made in 1943. As did almost all players in his day, Hutson played both offense and defense. On defense, he played safety and intercepted 30 passes over the final six years of his career. His highest season total was in 1943, when he intercepted eight passes in ten games. In 1940, he led the NFL with six interceptions.


title: Don Hutson

text: Hutson was a player-coach during the last two seasons of his playing career. After his retirement as a player, Hutson remained on the Packers staff as an assistant until 1948.


title: Don Hutson

text: From an early age Hutson was interested in business. "At the university [of Alabama], I was the only athlete in the business school," he said. "The only reason I wanted to play pro sports was to get a stake." While both were students at Alabama, he partnered with Bear Bryant to operate a laundromat in Tuscaloosa called Captain Kidd Cleaners. However, neither were educated in laundering, and they sold the business after two years. While in Green Bay, Hutson opened the Packer Playdium bowling alley, which proved so successful that he twice considered retirement from football to fully dedicate his time to its operation. He then started the Hutson Motor Car Co. dealership and in 1951 purchased Chevrolet and Cadillac agencies in Racine, Wisconsin. "I never aimed for automobiles," said Hutson. "That just happened to be the thing I got into. I just wanted to run a business, any business. He also served on the Packers board of directors from 1952 to 1980, when he was elected a director emeritus.


title: Don Hutson

text: After he retired from the dealership business, Hutson settled in Rancho Mirage, California, where he lived until his death on June 26, 1997, at the age of 84.


title: Don Hutson

text: Hutson has been honored in a variety of ways. He was elected to the Wisconsin Athletic Hall of Fame as a charter member in 1951, and the Alabama Sports Hall of Fame in 1968, also as an initial member. His number 14 was the first number retired by the Packers, in a public ceremony at a game at City Stadium on December 2, 1951. Hutson Street in the Packerland Industrial Park in Green Bay is named for him, and in 1994 the Packers named their new state-of-the-art indoor practice facility across the street from Lambeau Field the "Don Hutson Center."


title: Don Hutson

text: Hutson was inducted as a charter member of both the College Football Hall of Fame in 1951, and Pro Football Hall of Fame in 1963. His college career made him a unanimous choice for the Associated Press Southeast Area All-Time football team 1920–1969 era. Hutson is a member of the Green Bay Packers Hall of Fame, inducted in 1972 along with his quarterbacks, Arnie Herber and Cecil Isbell. There is a park named after him in his hometown of Pine Bluff, Arkansas. On the occasion of his 75th birthday he performed the ceremonial coin toss of Super Bowl XXII to end the pregame ceremonies. Hutson was named to the NFL's 1930s All-Decade Team and 50th Anniversary Team in 1970, and in 1994 he was named to the NFL 75th Anniversary All-Time Team. In 1999, he was ranked sixth on "The Sporting News" list of the 100 Greatest Football Players, the highest-ranking Packer and the highest-ranking pre–World War II player. In 2012, the NFL Network named Hutson the greatest Green Bay Packer of all time.


title: Don Hutson

text: In 2005, the Flagstad family of Green Bay donated to the Green Bay Packers Hall of Fame an authentic Packers No. 14 jersey worn by Hutson. The jersey was found in a trunk of old uniforms in 1946 at the Rockwood Lodge, the Packers' summer training camp from 1946 to 1949, owned by Melvin and Helen Flagstad. The jersey, a rare NFL artifact valued at over $17,000, was donated by son Daniel Flagstad in memory of his parents.


title: Don Hutson

text: Hutson's most productive seasons were from 1942 to 1945, a time in which the NFL was severely depleted with many of its most talented players and prospective college athletes serving in the military during World War II. Hutson was classified I-A for the military draft, but had three daughters, so was able to avoid conscription. On the notion that Hutson exploited watered-down defenses, former Packers Hall of Fame running back Paul Hornung responded as such: "I'm a believer. Am I a believer! You know what Hutson would do in this league today? The same things he did when he played."


title: Don Hutson

text: As of the end of the 2017 NFL season, Hutson still holds the following records: most seasons leading league in pass receptions (8), most consecutive seasons leading league in pass receptions (5), most seasons leading league in pass receiving yards gained (7), most consecutive seasons leading league in pass receiving yards gained (4), most seasons leading league in pass receiving touchdowns (9), most seasons leading the league in total touchdowns (8), Most consecutive seasons leading league in pass receiving touchdowns (5), most seasons leading league in scoring (5, now tied), and most consecutive seasons leading league in scoring (5). Sportswriter Zipp Newman referred to Hutson as "the Ty Cobb of the gridiron."


title: Ministry of Petroleum and Natural Gas

text: The Ministry of Petroleum and Natural Gas (MOP&NG) is a ministry of the government of India responsible for the exploration, production, refining, distribution, marketing, import, export, and conservation of petroleum, natural gas, petroleum products, and liquefied natural gas in the country. The ministry is headed by the Cabinet Minister Hardeep Singh Puri. M. M. Kutty is the Secretary of the Ministry.


title: Ministry of Petroleum and Natural Gas

text: The ministry has ownership over these eight central public sector undertakings of the government of India.


title: Ministry of Petroleum and Natural Gas

text: RGIPT is a training and education institute that gives technical and management training to the petroleum industry and was formally opened in July 2008. The Ministry of Petroleum and Natural Gas (MOP&NG), Government of India founded the institute through an Act of Parliament ("Rajiv Gandhi Institute of Petroleum Technology Act 2007").


title: Ministry of Petroleum and Natural Gas

text: On 20 February 2015, A group of seven Indian petroleum ministry and oil firm employees were arrested for allegedly stealing and leaking classified documents to energy companies in exchange for cash payments. The group stole, photocopied and leaked confidential oil ministry documents related to energy pricing and policy in exchange for undisclosed sums of money. They were apprehended when Delhi police received a tip that the men were trying to break into offices at the ministry.


title: Big (TV series)

text: Big () is a 2012 South Korean television series starring Gong Yoo and Lee Min-jung. The romantic comedy/body swap series aired on KBS2 from June 4 to July 24, 2012 on Mondays and Tuesdays at 21:55 for 16 episodes.


title: Big (TV series)

text: Written by the Hong sisters, "Big" was Gong Yoo's first television series after "The 1st Shop of Coffee Prince" in 2007 and since being discharged from mandatory military service. The drama was well-received although it was criticized for its ending.


title: Big (TV series)

text: Gil Da-ran (Lee Min-jung) is a struggling substitute teacher trying to get her certificate. She is engaged to a kind and handsome doctor, Seo Yoon-jae (Gong Yoo); it is a fairy-tale-come-true until one month before the wedding, Yoon-jae inexplicably becomes distant. At the same time, Da-ran meets an 18-year-old transfer student from the United States, Kang Kyung-joon (Shin Won-ho), who's got an attitude towards everyone except Da-ran. Kyung-joon gets into a fateful car accident with Yoon-jae and the two of them drive over the guard rail and into the deep waters. Yoon-jae tries to save Kyung-joon but in the process, Yoon-jae ostensibly dies and Kyung-joon ends up in a coma. Kyung-joon soon wakes up finding himself in Yoon-jae's body.


title: Common moorhen

text: The common moorhen (Gallinula chloropus), also known as the waterhen or swamp chicken, is a bird species in the rail family (Rallidae). It is distributed across many parts of the Old World.


title: Common moorhen

text: The common moorhen lives around well-vegetated marshes, ponds, canals and other wetlands. The species is not found in the polar regions or many tropical rainforests. Elsewhere it is likely the most common rail species, except for the Eurasian coot in some regions.


title: Common moorhen

text: The closely related common gallinule of the New World has been recognized as a separate species by most authorities, starting with the American Ornithologists' Union and the International Ornithological Committee in 2011.


title: Common moorhen

text: The name "mor-hen" has been recorded in English since the 13th century. The word "moor" here is an old sense meaning "marsh"; the species is not usually found in moorland. An older name, common waterhen, is more descriptive of the bird's habitat.


title: Common moorhen

text: A "watercock" is not a male "waterhen" but the rail species "Gallicrex cinerea", not closely related to the common moorhen. "Water rail" usually refers to "Rallus aquaticus", again not closely related.


title: Common moorhen

text: The scientific name "Gallinula chloropus" comes from the Latin "Gallinula" (a small hen or chicken) and the Greek "chloropus" ("khloros" χλωρός green or yellow, "pous" πούς foot).


title: Common moorhen

text: The moorhen is a distinctive species, with dark plumage apart from the white undertail, yellow legs and a red frontal shield. The young are browner and lack the red shield. The frontal shield of the adult has a rounded top and fairly parallel sides; the tailward margin of the red unfeathered area is a smooth waving line. In the related common gallinule of the Americas, the frontal shield has a fairly straight top and is less wide towards the bill, giving a marked indentation to the back margin of the red area.


title: Common moorhen

text: The common moorhen gives a wide range of gargling calls and will emit loud hisses when threatened. A midsized to large rail, it can range from in length and span across the wings. The body mass of this species can range from .