diff --git a/Xbox/XMID.cs b/Xbox/XMID.cs
new file mode 100644
index 0000000..63799ef
--- /dev/null
+++ b/Xbox/XMID.cs
@@ -0,0 +1,49 @@
+namespace SabreTools.Models.Xbox
+{
+ ///
+ /// Contains information specific to an XGD disc
+ ///
+ ///
+ /// XGD1 XMID Format Information:
+ ///
+ /// AABBBCCD
+ /// - AA => The two-ASCII-character publisher identifier (see GetPublisher for details)
+ /// - BBB => Game ID
+ /// - CC => Version number
+ /// - D => Region identifier (see GetRegion for details)
+ ///
+ public class XMID
+ {
+ ///
+ /// 2-character publisher identifier
+ ///
+#if NET48
+ public string PublisherIdentifier { get; set; }
+#else
+ public string PublisherIdentifier { get; set; }
+#endif
+
+ ///
+ /// 3-character Game ID
+ ///
+#if NET48
+ public string GameID { get; set; }
+#else
+ public string? GameID { get; set; }
+#endif
+
+ ///
+ /// 2-character Internal version number
+ ///
+#if NET48
+ public string VersionNumber { get; set; }
+#else
+ public string? VersionNumber { get; set; }
+#endif
+
+ ///
+ /// 1-character Region identifier character
+ ///
+ /// Contains information specific to an XGD disc
+ ///
+ ///
+ /// XGD2/3 XeMID Format Information:
+ ///
+ /// AABCCCDDEFFGHH(IIIIIIII)
+ /// - AA => The two-ASCII-character publisher identifier (see GetPublisher for details)
+ /// - B => Platform identifier; 2 indicates Xbox 360.
+ /// - CCC => Game ID
+ /// - DD => SKU number (unique per SKU of a title)
+ /// - E => Region identifier (see GetRegion for details)
+ /// - FF => Base version; usually starts at 01 (can be 1 or 2 characters)
+ /// - G => Media type identifier (see GetMediaSubtype for details)
+ /// - HH => Disc number stored in [disc number][total discs] format
+ /// - IIIIIIII => 8-hex-digit certification submission identifier; usually on test discs only
+ ///
+ public class XeMID
+ {
+ ///
+ /// 2-character publisher identifier
+ ///
+#if NET48
+ public string PublisherIdentifier { get; set; }
+#else
+ public string PublisherIdentifier { get; set; }
+#endif
+
+ ///
+ /// 1-character Platform disc is made for, 2 indicates Xbox 360
+ ///
+ public char PlatformIdentifier { get; set; }
+
+ ///
+ /// 3-character Game ID
+ ///
+#if NET48
+ public string GameID { get; set; }
+#else
+ public string? GameID { get; set; }
+#endif
+
+ ///
+ /// 2-character Title-specific SKU
+ ///
+#if NET48
+ public string SKU { get; set; }
+#else
+ public string? SKU { get; set; }
+#endif
+
+ ///
+ /// 1-character Region identifier character
+ ///
+ public char RegionIdentifier { get; set; }
+
+ ///
+ /// 2-character Base version of executables, usually starts at 01
+ ///
+#if NET48
+ public string BaseVersion { get; set; }
+#else
+ public string? BaseVersion { get; set; }
+#endif
+
+ ///
+ /// 1-character Media subtype identifier
+ ///
+ public char MediaSubtypeIdentifier { get; set; }
+
+ ///
+ /// 2-character Disc number stored in [disc number][total discs] format
+ ///
+#if NET48
+ public string DiscNumberIdentifier { get; set; }
+#else
+ public string? DiscNumberIdentifier { get; set; }
+#endif
+
+ ///
+ /// 8-hex-digit certification submission identifier; usually on test discs only
+ ///
+#if NET48
+ public string CertificationSubmissionIdentifier { get; set; }
+#else
+ public string? CertificationSubmissionIdentifier { get; set; }
+#endif
+ }
+}