global variables implementation