With programs constructed from randomly selected modules, Zgrass needed to have better control over its variables than BASIC. In BASIC all variables are "global", so if two subroutines both use the variable codice_15 (very common) then they could set each other's values, leading to hard-to-debug problems. Under Zgrass a programmer loading up two modules could easily find that both used i as a loop counter, which could cause problems. To address this issue, Zgrass considered variables named with lowercase letters to be local only to that macro. Oddly, the examples provided with the language do not make widespread use of this feature, potentially confusing new programmers who might not be aware the feature exists.