docs: def get_variables(self):
          """
          Returns a list of variables.
  
          Examples
          --------
          >>> reader = XBNReader('xbn_test.xml')
          >>> reader.get_variables()
          {'a': {'TYPE': 'discrete', 'XPOS': '13495',
                 'YPOS': '10465', 'DESCRIPTION': '(a) Metastatic Cancer',
                 'STATES': ['Present', 'Absent']}
          'b': {'TYPE': 'discrete', 'XPOS': '11290',
                 'YPOS': '11965', 'DESCRIPTION': '(b) Serum Calcium Increase',
                 'STATES': ['Present', 'Absent']},
          'c': {....},
          'd': {....},
          'e': {....}
          }
          """
          variables = {}
          for variable in self.bnmodel.find('VARIABLES'):
              variables[variable.get('NAME')] = {'TYPE': variable.get('TYPE'),
                                                 'XPOS': variable.get('XPOS'),
                                                 'YPOS': variable.get('YPOS'),
                                                 'DESCRIPTION': variable.find('DESCRIPTION').text,
                                                 'STATES': [state.text for state in variable.findall('STATENAME')]}
          return variables