def iter_work_specs(self, limit=None, start=None):
        '''
        yield work spec dicts
        '''
        count = 0
        ws_list, start = self.list_work_specs(limit, start)
        while True:
            for name_spec in ws_list:
                yield name_spec[1]
                count += 1
                if (limit is not None) and (count >= limit):
                    break
            if not start:
                break
            if limit is not None:
                limit -= count
            ws_list, start = self.list_work_specs(limit, start)
yield work spec dicts