implements global stuffs