implemented special variables. reverted change where functions became state variables because doing so causes the lexical variables within the function's code to also be static