refactored out Builtin.Global so we can have better separation