no need for that memset call for vars in global scope, they are auto-initalised to 0