no global needed