A Tcl extension is a new command written in the implementation language of Tcl and provided via load. Because it has access to the Tcl C API and the structures that implement objects visible at the script level, an extension can extend the feature set of the Tcl interpreter. A procedure, the body of which is simply a script to be evaluated by the interpreter, lacks this capability. An extension is often included in a package, where the pkgIndex.tcl script uses load to load the extension into the interpreter process. An extension may define new actions, new widgets, new processing types, etc.