do not use global variables