always export  to globals, to prevent breaking existing implementations