avoid to leak variables to global scope