refactoring GetNarrativeList (in progress)