no global variables!