no more global
code reorg