Index: binary-improvements/7dtd-server-fixes/src/PersistentData/Attributes.cs
===================================================================
--- binary-improvements/7dtd-server-fixes/src/PersistentData/Attributes.cs	(revision 448)
+++ binary-improvements/7dtd-server-fixes/src/PersistentData/Attributes.cs	(revision 455)
@@ -8,17 +8,11 @@
 
 		public bool HideChatCommands {
-			get { return hideChatCommands; }
-			set { hideChatCommands = value; }
+			get => hideChatCommands;
+			set => hideChatCommands = value;
 		}
 
 		public string HideChatCommandPrefix {
-			get {
-				if (hideChatCommandPrefix == null) {
-					hideChatCommandPrefix = "";
-				}
-
-				return hideChatCommandPrefix;
-			}
-			set { hideChatCommandPrefix = value; }
+			get => hideChatCommandPrefix ??= "";
+			set => hideChatCommandPrefix = value;
 		}
 	}
Index: binary-improvements/7dtd-server-fixes/src/PersistentData/Inventory.cs
===================================================================
--- binary-improvements/7dtd-server-fixes/src/PersistentData/Inventory.cs	(revision 448)
+++ binary-improvements/7dtd-server-fixes/src/PersistentData/Inventory.cs	(revision 455)
@@ -24,7 +24,7 @@
 		}
 
-		private void ProcessInv (List<InvItem> _target, ItemStack[] _sourceFields, int _id) {
+		private void ProcessInv (ICollection<InvItem> _target, IReadOnlyList<ItemStack> _sourceFields, int _id) {
 			_target.Clear ();
-			for (int i = 0; i < _sourceFields.Length; i++) {
+			for (int i = 0; i < _sourceFields.Count; i++) {
 				InvItem item = CreateInvItem (_sourceFields [i].itemValue, _sourceFields [i].count, _id);
 				if (item != null && _sourceFields [i].itemValue.Modifications != null) {
@@ -43,7 +43,7 @@
 		}
 
-		private void ProcessParts (ItemValue[] _parts, InvItem _item, int _playerId) {
-			InvItem[] itemParts = new InvItem[_parts.Length];
-			for (int i = 0; i < _parts.Length; i++) {
+		private void ProcessParts (IReadOnlyList<ItemValue> _parts, InvItem _item, int _playerId) {
+			InvItem[] itemParts = new InvItem[_parts.Count];
+			for (int i = 0; i < _parts.Count; i++) {
 				InvItem partItem = CreateInvItem (_parts [i], 1, _playerId);
 				if (partItem != null && _parts [i].Modifications != null) {
@@ -67,6 +67,5 @@
 
 			if (_count > maxAllowed) {
-				Log.Out ("Player with ID " + _playerId + " has stack for \"" + name + "\" greater than allowed (" +
-				         _count + " > " + maxAllowed + ")");
+				Log.Out ($"Player with ID {_playerId} has stack for \"{name}\" greater than allowed ({_count} > {maxAllowed})");
 			}
 
Index: binary-improvements/7dtd-server-fixes/src/PersistentData/PersistentContainer.cs
===================================================================
--- binary-improvements/7dtd-server-fixes/src/PersistentData/PersistentContainer.cs	(revision 448)
+++ binary-improvements/7dtd-server-fixes/src/PersistentData/PersistentContainer.cs	(revision 455)
@@ -12,35 +12,11 @@
 		[OptionalField] private Attributes attributes;
 
-		public Players Players {
-			get {
-				if (players == null) {
-					players = new Players ();
-				}
+		public Players Players => players ??= new Players ();
 
-				return players;
-			}
-		}
-
-		public Attributes Attributes {
-			get {
-				if (attributes == null) {
-					attributes = new Attributes ();
-				}
-
-				return attributes;
-			}
-		}
+		public Attributes Attributes => attributes ??= new Attributes ();
 
 		private static PersistentContainer instance;
 
-		public static PersistentContainer Instance {
-			get {
-				if (instance == null) {
-					instance = new PersistentContainer ();
-				}
-
-				return instance;
-			}
-		}
+		public static PersistentContainer Instance => instance ??= new PersistentContainer ();
 
 		private PersistentContainer () {
@@ -49,5 +25,5 @@
 		public void Save () {
 			lock (fileLockObject) {
-				using Stream stream = File.Open (GameIO.GetSaveGameDir () + persistentDataFileName, FileMode.Create);
+				using Stream stream = File.Open ($"{GameIO.GetSaveGameDir ()}{persistentDataFileName}", FileMode.Create);
 				BinaryFormatter bFormatter = new BinaryFormatter ();
 				bFormatter.Serialize (stream, this);
@@ -56,5 +32,7 @@
 
 		public static bool Load () {
-			if (!File.Exists (GameIO.GetSaveGameDir () + persistentDataFileName)) {
+			var filePath = $"{GameIO.GetSaveGameDir ()}{persistentDataFileName}";
+			
+			if (!File.Exists (filePath)) {
 				return false;
 			}
@@ -63,5 +41,5 @@
 				PersistentContainer obj;
 				lock (fileLockObject) {
-					using Stream stream = File.Open (GameIO.GetSaveGameDir () + persistentDataFileName, FileMode.Open);
+					using Stream stream = File.Open (filePath, FileMode.Open);
 					BinaryFormatter bFormatter = new BinaryFormatter ();
 					obj = (PersistentContainer)bFormatter.Deserialize (stream);
Index: binary-improvements/7dtd-server-fixes/src/PersistentData/Player.cs
===================================================================
--- binary-improvements/7dtd-server-fixes/src/PersistentData/Player.cs	(revision 448)
+++ binary-improvements/7dtd-server-fixes/src/PersistentData/Player.cs	(revision 455)
@@ -124,5 +124,5 @@
 			}
 
-			Log.Out ("Player set to offline: " + InternalId);
+			Log.Out ($"Player set to offline: {InternalId}");
 			lastOnline = DateTime.Now;
 			try {
@@ -140,5 +140,5 @@
 
 		public void SetOnline (ClientInfo _ci) {
-			Log.Out ("Player set to online: " + InternalId);
+			Log.Out ($"Player set to online: {InternalId}");
 			clientInfo = _ci;
             entityId = _ci.entityId;
Index: binary-improvements/7dtd-server-fixes/src/PersistentData/Players.cs
===================================================================
--- binary-improvements/7dtd-server-fixes/src/PersistentData/Players.cs	(revision 448)
+++ binary-improvements/7dtd-server-fixes/src/PersistentData/Players.cs	(revision 455)
@@ -19,5 +19,5 @@
 			}
 
-			Log.Out ("Created new player entry for ID: " + _internalId);
+			Log.Out ($"Created new player entry for ID: {_internalId}");
 			Player p = new Player (_internalId, _platformId, _crossPlatformId);
 			Dict.Add (_internalId, p);
