add NarrativeJobService.pm