don't use global variables