def load_problems(self):
        """Load the ProblemSets defined in the filename.

        Yields:
            The next ProblemSet defined in the file.
        """
        with open(self.filename + '.txt', 'r') as fin:
            lines = [a.strip() for a in fin.readlines()]
            key = lines[0]
            lines = lines[1:]

            for line in lines:
                problem_set = ProblemSet()
                problem_set.init_line(line, key)
                yield problem_set