diff --git a/PKHeX.Core/Saves/Substructures/BV6.cs b/PKHeX.Core/Saves/Substructures/Battle Videos/BV6.cs
similarity index 100%
rename from PKHeX.Core/Saves/Substructures/BV6.cs
rename to PKHeX.Core/Saves/Substructures/Battle Videos/BV6.cs
diff --git a/PKHeX.Core/Saves/Substructures/BV7.cs b/PKHeX.Core/Saves/Substructures/Battle Videos/BV7.cs
similarity index 100%
rename from PKHeX.Core/Saves/Substructures/BV7.cs
rename to PKHeX.Core/Saves/Substructures/Battle Videos/BV7.cs
diff --git a/PKHeX.Core/Saves/Substructures/BVRequestUtil.cs b/PKHeX.Core/Saves/Substructures/Battle Videos/BVRequestUtil.cs
similarity index 100%
rename from PKHeX.Core/Saves/Substructures/BVRequestUtil.cs
rename to PKHeX.Core/Saves/Substructures/Battle Videos/BVRequestUtil.cs
diff --git a/PKHeX.Core/Saves/Substructures/BattleVideo.cs b/PKHeX.Core/Saves/Substructures/Battle Videos/BattleVideo.cs
similarity index 100%
rename from PKHeX.Core/Saves/Substructures/BattleVideo.cs
rename to PKHeX.Core/Saves/Substructures/Battle Videos/BattleVideo.cs
diff --git a/PKHeX.Core/Saves/Substructures/G1OverworldSpawner.cs b/PKHeX.Core/Saves/Substructures/Gen12/G1OverworldSpawner.cs
similarity index 100%
rename from PKHeX.Core/Saves/Substructures/G1OverworldSpawner.cs
rename to PKHeX.Core/Saves/Substructures/Gen12/G1OverworldSpawner.cs
diff --git a/PKHeX.Core/Saves/Substructures/SAV2Offsets.cs b/PKHeX.Core/Saves/Substructures/Gen12/SAV2Offsets.cs
similarity index 100%
rename from PKHeX.Core/Saves/Substructures/SAV2Offsets.cs
rename to PKHeX.Core/Saves/Substructures/Gen12/SAV2Offsets.cs
diff --git a/PKHeX.Core/Saves/Substructures/ShadowInfo.cs b/PKHeX.Core/Saves/Substructures/Gen3/ShadowInfo.cs
similarity index 100%
rename from PKHeX.Core/Saves/Substructures/ShadowInfo.cs
rename to PKHeX.Core/Saves/Substructures/Gen3/ShadowInfo.cs
diff --git a/PKHeX.Core/Saves/Substructures/StrategyMemo.cs b/PKHeX.Core/Saves/Substructures/Gen3/StrategyMemo.cs
similarity index 100%
rename from PKHeX.Core/Saves/Substructures/StrategyMemo.cs
rename to PKHeX.Core/Saves/Substructures/Gen3/StrategyMemo.cs
diff --git a/PKHeX.Core/Saves/Substructures/HoneyTree.cs b/PKHeX.Core/Saves/Substructures/Gen4/HoneyTree.cs
similarity index 100%
rename from PKHeX.Core/Saves/Substructures/HoneyTree.cs
rename to PKHeX.Core/Saves/Substructures/Gen4/HoneyTree.cs
diff --git a/PKHeX.Core/Saves/Substructures/CGearBackground.cs b/PKHeX.Core/Saves/Substructures/Gen5/CGearBackground.cs
similarity index 100%
rename from PKHeX.Core/Saves/Substructures/CGearBackground.cs
rename to PKHeX.Core/Saves/Substructures/Gen5/CGearBackground.cs
diff --git a/PKHeX.Core/Saves/Substructures/EntreeForest/EntreeForest.cs b/PKHeX.Core/Saves/Substructures/Gen5/EntreeForest.cs
similarity index 100%
rename from PKHeX.Core/Saves/Substructures/EntreeForest/EntreeForest.cs
rename to PKHeX.Core/Saves/Substructures/Gen5/EntreeForest.cs
diff --git a/PKHeX.Core/Saves/Substructures/EntreeForest/EntreeForestArea.cs b/PKHeX.Core/Saves/Substructures/Gen5/EntreeForestArea.cs
similarity index 100%
rename from PKHeX.Core/Saves/Substructures/EntreeForest/EntreeForestArea.cs
rename to PKHeX.Core/Saves/Substructures/Gen5/EntreeForestArea.cs
diff --git a/PKHeX.Core/Saves/Substructures/EntreeForest/EntreeSlot.cs b/PKHeX.Core/Saves/Substructures/Gen5/EntreeSlot.cs
similarity index 100%
rename from PKHeX.Core/Saves/Substructures/EntreeForest/EntreeSlot.cs
rename to PKHeX.Core/Saves/Substructures/Gen5/EntreeSlot.cs
diff --git a/PKHeX.Core/Saves/Substructures/PWTRecordID.cs b/PKHeX.Core/Saves/Substructures/Gen5/PWTRecordID.cs
similarity index 100%
rename from PKHeX.Core/Saves/Substructures/PWTRecordID.cs
rename to PKHeX.Core/Saves/Substructures/Gen5/PWTRecordID.cs
diff --git a/PKHeX.Core/Saves/Substructures/BeanPouch.cs b/PKHeX.Core/Saves/Substructures/Inventory/BeanPouch.cs
similarity index 100%
rename from PKHeX.Core/Saves/Substructures/BeanPouch.cs
rename to PKHeX.Core/Saves/Substructures/Inventory/BeanPouch.cs
diff --git a/PKHeX.Core/Saves/Substructures/FestaFacility.cs b/PKHeX.Core/Saves/Substructures/Misc/FestaFacility.cs
similarity index 100%
rename from PKHeX.Core/Saves/Substructures/FestaFacility.cs
rename to PKHeX.Core/Saves/Substructures/Misc/FestaFacility.cs
diff --git a/PKHeX.Core/Saves/Substructures/PSS6.cs b/PKHeX.Core/Saves/Substructures/Misc/PSS6.cs
similarity index 100%
rename from PKHeX.Core/Saves/Substructures/PSS6.cs
rename to PKHeX.Core/Saves/Substructures/Misc/PSS6.cs
diff --git a/PKHeX.Core/Saves/Substructures/QR7.cs b/PKHeX.Core/Saves/Substructures/Misc/QR7.cs
similarity index 100%
rename from PKHeX.Core/Saves/Substructures/QR7.cs
rename to PKHeX.Core/Saves/Substructures/Misc/QR7.cs
diff --git a/PKHeX.Core/Saves/Substructures/MysteryGiftAlbum.cs b/PKHeX.Core/Saves/Substructures/MysteryGiftAlbum.cs
new file mode 100644
index 000000000..7975b90c4
--- /dev/null
+++ b/PKHeX.Core/Saves/Substructures/MysteryGiftAlbum.cs
@@ -0,0 +1,12 @@
+namespace PKHeX.Core
+{
+ ///
+ /// Structure containing Mystery Gift Block Data
+ ///
+ public class MysteryGiftAlbum
+ {
+ public MysteryGift[] Gifts;
+ public bool[] Flags;
+ public uint Seed;
+ }
+}
diff --git a/PKHeX.Core/Saves/Substructures/SaveObjects.cs b/PKHeX.Core/Saves/Substructures/SaveObjects.cs
deleted file mode 100644
index f3c66d733..000000000
--- a/PKHeX.Core/Saves/Substructures/SaveObjects.cs
+++ /dev/null
@@ -1,26 +0,0 @@
-namespace PKHeX.Core
-{
- public struct DaycareSlot
- {
- public uint Experience;
- public PKM PKM;
- public bool Occupied;
- }
-
- public struct Daycare
- {
- public DaycareSlot[] Slots;
- public bool EggAvailable;
- public ulong Seed;
- }
-
- ///
- /// Structure containing Mystery Gift Block Data
- ///
- public struct MysteryGiftAlbum
- {
- public MysteryGift[] Gifts;
- public bool[] Flags;
- public uint Seed;
- }
-}