diff --git a/source/Trek-12/DataContractPersistence/DataContractJson.cs b/source/Trek-12/DataContractPersistence/DataContractJson.cs
new file mode 100644
index 0000000..83f745a
--- /dev/null
+++ b/source/Trek-12/DataContractPersistence/DataContractJson.cs
@@ -0,0 +1,88 @@
+using System;
+using System.Collections.Generic;
+using System.Diagnostics;
+using System.Linq;
+using System.Runtime.Serialization;
+using System.Text;
+using System.Threading.Tasks;
+using System.Xml;
+using System.Runtime.Serialization.Json;
+using System.IO;
+using System.Xml.Serialization;
+using System.Collections.ObjectModel;
+using System.Text.Json;
+using Models.Game;
+using Models.Interfaces;
+
+namespace DataContractPersistence
+{
+ public class DataContractJson : IPersistence
+ {
+ ///
+ /// Name of the file where the data will be saved
+ ///
+ public string FileName { get; set; } = "data.json";
+
+ ///
+ /// Path (relative to the project)
+ ///
+ public string FilePath { get; set; } = Path.Combine(AppDomain.CurrentDomain.BaseDirectory);
+
+ ///
+ /// Load all the data from JSON file
+ ///
+ /// A tuple with the lists of players, games, maps and best scores
+ public (List, List, List