can't block, need global vars