docs: def run(self):
          """Main program entry point after parsing arguments"""
          start = time.clock()
          it = iter(self.reader)
          if self.args.max_records:
              it = itertools.islice(it, self.args.max_records)
          num = self.work(it)
          end = time.clock()
          print("Read {} records in {} seconds".format(num, (end - start)), file=sys.stderr)