def demo(self, *args, **kwargs):
        """
        Simple run method
        """

        print('* calling: self.dp.qprint("Why hello there, world!"):')
        self.dp.qprint("Why hello there, world!")

        print('* calling: self.dp2.qprint("Why hello there, world! In a debugging file!"):')
        self.dp2.qprint("Why hello there, world! In a debugging file!")
        print('* Check on /tmp/pfmisc2.txt')

        other = someOtherClass2()
        other.say("And this is from a different class")

        print('* now with no syslog...')
        print('* calling: self.dp.qprint("Hello there, world w/o syslog!", syslog = False):')
        self.dp.qprint("Hello there, world w/o syslog!", syslog = False)

        print('\n* end and no end...')
        print('* calling: self.dp.qprint("This is the end... ", end=''):')
        print('* calling: self.dp.qprint("My only friend the end", syslog = False):')
        self.dp.qprint("This is the end... ", end='')
        self.dp.qprint("My only friend the end", syslog = False)

        for str_comms in ['status', 'error', 'tx', 'rx']: 
            print('\n* calling: self.dp.qprint("This string is tagged with %s" % str_comms, ', end='')
            print("comms = '%s')" % str_comms)
            self.dp.qprint("This string is tagged with '%s'" % str_comms, comms = str_comms)

        print("Followed by an error...")
        fatal(
            self, 'someError2',
            header  = 'This is an unrecoverable error!',
            drawBox = True
        )