A lot of the variables depend on the functions to exist to set their default values; that's why they're defined underneath.