# 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.

- Loader Options
- Startup Options

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 document 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.