all vars and funcs should be static