factored globals and modules out into a separate file (not needed in the compiler itself)