encapsulate all global variables