diff --git a/source/Trek-12/DataContractPersistence/DataContractPersistence.csproj b/source/Trek-12/DataContractPersistence/DataContractPersistence.csproj
new file mode 100644
index 0000000..fbf8a46
--- /dev/null
+++ b/source/Trek-12/DataContractPersistence/DataContractPersistence.csproj
@@ -0,0 +1,13 @@
+
+
+
+ net8.0
+ enable
+ enable
+
+
+
+
+
+
+
diff --git a/source/Trek-12/DataContractPersistence/DataContractXml.cs b/source/Trek-12/DataContractPersistence/DataContractXml.cs
new file mode 100644
index 0000000..81598c3
--- /dev/null
+++ b/source/Trek-12/DataContractPersistence/DataContractXml.cs
@@ -0,0 +1,63 @@
+using System;
+using System.Collections.Generic;
+using System.Diagnostics;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.IO;
+using System.Runtime.Serialization;
+using System.Xml;
+using System.Xml.Serialization;
+using Models.Game;
+using Models.Interfaces;
+
+namespace DataContractPersistence
+{
+ public class DataContractXml : IPersistence
+ {
+ public string FileName { get; set; } = "data.xml";
+ public string FilePath { get; set; } = Path.Combine(AppDomain.CurrentDomain.BaseDirectory);
+
+ public (List, List, List