prevent variables from spilling out into global scope