 
 @available(iOS 13.0.0, macOS 10.15.0, watchOS 7.0.0, tvOS 13.0.0, *)
 public struct AcknowListSwiftUIView: View {
+
     public var acknowledgements: [Acknow] = []
+    public var headerText: String?
+    public var footerText: String?
 
-    public init(acknowledgements: [Acknow]) {
+    public init(acknowledgements: [Acknow], headerText: String? = nil, footerText: String? = nil) {
         self.acknowledgements = acknowledgements
+        self.headerText = headerText
+        self.footerText = footerText
     }
 
     public init(plistPath: String) {
         let parser = AcknowParser(plistPath: plistPath)
-        self.init(acknowledgements: parser.parseAcknowledgements())
+        let headerFooter = parser.parseHeaderAndFooter()
+
+        self.init(acknowledgements: parser.parseAcknowledgements(), headerText: headerFooter.header, footerText: headerFooter.footer)
+    }
+
+    struct HeaderFooter: View {
+        let text: String?
+
+        var body: some View {
+            if let text = text {
+                Text(text)
+            }
+            else {
+                EmptyView()
+            }
+        }
     }
 
     public var body: some View {
-        #if os(iOS)
-        List(acknowledgements) { acknowledgement in
-            NavigationLink(destination: AcknowSwiftUIView(acknowledgement: acknowledgement)) {
-                Text(acknowledgement.title)
+        #if os(iOS) || os(tvOS)
+        List {
+            Section(header: HeaderFooter(text: headerText), footer: HeaderFooter(text: footerText)) {
+                ForEach (acknowledgements) { acknowledgement in
+                    NavigationLink(destination: AcknowSwiftUIView(acknowledgement: acknowledgement)) {
+                        Text(acknowledgement.title)
+                    }
+                }
             }
         }
         .listStyle(GroupedListStyle())
         .navigationBarTitle(Text("Acknowledgements"))
         #else
-        List(acknowledgements) { acknowledgement in
-            NavigationLink(destination: AcknowSwiftUIView(acknowledgement: acknowledgement)) {
-                Text(acknowledgement.title)
+        List {
+            Section(header: HeaderFooter(text: headerText), footer: HeaderFooter(text: footerText)) {
+                ForEach (acknowledgements) { acknowledgement in
+                    NavigationLink(destination: AcknowSwiftUIView(acknowledgement: acknowledgement)) {
+                        Text(acknowledgement.title)
+                    }
+                }
             }
         }
         #endif


@available(iOS 13.0.0, macOS 10.15.0, watchOS 7.0.0, tvOS 13.0.0, *)
public struct AcknowNavigationSwiftUIView: View {
    public var acknowledgements = [Acknow]()

    public init(acknowledgements: [Acknow]) {
        self.acknowledgements = acknowledgements
    }

    public init(plistPath: String) {
        let parser = AcknowParser(plistPath: plistPath)
        self.init(acknowledgements: parser.parseAcknowledgements())
    }

    public var body: some View {
        NavigationView {
            AcknowListSwiftUIView(acknowledgements: acknowledgements)
        }
    }
}

    static var previews: some View {
        AcknowNavigationSwiftUIView(acknowledgements: acks)
            .previewDevice(PreviewDevice(rawValue: "iPhone 12"))

        AcknowNavigationSwiftUIView(acknowledgements: acks, headerText: "Test Header", footerText: "Test Footer")
            .previewDevice(PreviewDevice(rawValue: "iPhone 12"))
        
        AcknowNavigationSwiftUIView(acknowledgements: acks, headerText: "Test Header", footerText: "Test Footer")
            .previewDevice(PreviewDevice(rawValue: "Apple TV 4K"))

        AcknowNavigationSwiftUIView(acknowledgements: acks, headerText: "Test Header", footerText: "Test Footer")
            .previewDevice(PreviewDevice(rawValue: "Apple Watch Series 6 - 44mm"))

        AcknowNavigationSwiftUIView(acknowledgements: acks, headerText: "Test Header", footerText: "Test Footer")
            .previewDevice(PreviewDevice(rawValue: "Mac"))
    }
}
