# Startup and Loader Options¶

MathJax’s components system is based on two tools that handler loading the various components and setting up the objects and methods needed to use the loaded components. They both use options to control their actions, as described below.

These modules use the global `MathJax`

object to determine what
you want loaded, and alter that object to include the methods and
objects that they set up. The initial value of `MathJax`

is
saved as `MathJax.config`

, and other properties are added to
`MathJax`

depending on the components that get loaded. For
example, the startup component adds `MathJax.startup()`

, which
contains the objects that the startup module creates, like the input
and output jax, the math ocument object, the DOM adaptor, and so on.
See the MathJax API documentation for more
information.

The `MathJax`

variable can also contain configuration blocks
intended for individual components when they are loaded. For example,
it can have a `tex`

block to configure the input/tex component. See Configuring MathJax for more details.

Note that you must set up the global `MathJax`

object **before**
loading MathJax itself. If you try to that afterward, you will
overwrite the `MathJax`

variable, and all the values that
MathJax has set in them. See the Configuring MathJax After it is Loaded section
for more about how to change the configuration after MathJax is loaded
if you need to do that.