why all this is global ?