diff --git a/Browser/Bridge/UpdateBridge.cs b/Browser/Bridge/UpdateBridge.cs
index be38e624..56c0728c 100644
--- a/Browser/Bridge/UpdateBridge.cs
+++ b/Browser/Bridge/UpdateBridge.cs
@@ -2,7 +2,7 @@
 using System.Diagnostics.CodeAnalysis;
 using System.Windows.Forms;
 using TweetDuck.Controls;
-using TweetLib.Core.Features.Updates;
+using TweetLib.Core.Systems.Updates;
 
 namespace TweetDuck.Browser.Bridge{
     [SuppressMessage("ReSharper", "UnusedMember.Global")]
diff --git a/Browser/FormBrowser.cs b/Browser/FormBrowser.cs
index 4b37b64c..72880434 100644
--- a/Browser/FormBrowser.cs
+++ b/Browser/FormBrowser.cs
@@ -20,7 +20,7 @@
 using TweetDuck.Utils;
 using TweetLib.Core.Features.Plugins;
 using TweetLib.Core.Features.Plugins.Events;
-using TweetLib.Core.Features.Updates;
+using TweetLib.Core.Systems.Updates;
 
 namespace TweetDuck.Browser{
     sealed partial class FormBrowser : Form, AnalyticsFile.IProvider{
diff --git a/Configuration/ConfigManager.cs b/Configuration/ConfigManager.cs
index 3d2c6c40..61a21dce 100644
--- a/Configuration/ConfigManager.cs
+++ b/Configuration/ConfigManager.cs
@@ -1,9 +1,9 @@
 using System;
 using System.Drawing;
 using TweetDuck.Browser.Data;
-using TweetLib.Core.Features.Configuration;
 using TweetLib.Core.Features.Plugins.Config;
 using TweetLib.Core.Serialization.Converters;
+using TweetLib.Core.Systems.Configuration;
 using TweetLib.Core.Utils;
 
 namespace TweetDuck.Configuration{
diff --git a/Configuration/PluginConfig.cs b/Configuration/PluginConfig.cs
index b9d3d284..b5d557d6 100644
--- a/Configuration/PluginConfig.cs
+++ b/Configuration/PluginConfig.cs
@@ -1,9 +1,9 @@
 using System;
 using System.Collections.Generic;
-using TweetLib.Core.Features.Configuration;
 using TweetLib.Core.Features.Plugins;
 using TweetLib.Core.Features.Plugins.Config;
 using TweetLib.Core.Features.Plugins.Events;
+using TweetLib.Core.Systems.Configuration;
 
 namespace TweetDuck.Configuration{
     sealed class PluginConfig : BaseConfig, IPluginConfig{
diff --git a/Configuration/SystemConfig.cs b/Configuration/SystemConfig.cs
index 3377cafa..dc853b5b 100644
--- a/Configuration/SystemConfig.cs
+++ b/Configuration/SystemConfig.cs
@@ -1,4 +1,4 @@
-using TweetLib.Core.Features.Configuration;
+using TweetLib.Core.Systems.Configuration;
 
 namespace TweetDuck.Configuration{
     sealed class SystemConfig : BaseConfig{
diff --git a/Configuration/UserConfig.cs b/Configuration/UserConfig.cs
index f4f6be0d..2548a001 100644
--- a/Configuration/UserConfig.cs
+++ b/Configuration/UserConfig.cs
@@ -3,9 +3,9 @@
 using TweetDuck.Browser;
 using TweetDuck.Browser.Data;
 using TweetDuck.Controls;
-using TweetLib.Core.Features.Configuration;
 using TweetLib.Core.Features.Notifications;
 using TweetLib.Core.Features.Twitter;
+using TweetLib.Core.Systems.Configuration;
 
 namespace TweetDuck.Configuration{
     sealed class UserConfig : BaseConfig{
diff --git a/Dialogs/FormSettings.cs b/Dialogs/FormSettings.cs
index 4f3d45e0..c1e32ea4 100644
--- a/Dialogs/FormSettings.cs
+++ b/Dialogs/FormSettings.cs
@@ -12,7 +12,7 @@
 using TweetDuck.Management.Analytics;
 using TweetDuck.Utils;
 using TweetLib.Core.Features.Plugins;
-using TweetLib.Core.Features.Updates;
+using TweetLib.Core.Systems.Updates;
 
 namespace TweetDuck.Dialogs{
     sealed partial class FormSettings : Form, FormManager.IAppDialog{
diff --git a/Dialogs/Settings/TabSettingsGeneral.cs b/Dialogs/Settings/TabSettingsGeneral.cs
index fbebaef7..a41ca4cd 100644
--- a/Dialogs/Settings/TabSettingsGeneral.cs
+++ b/Dialogs/Settings/TabSettingsGeneral.cs
@@ -5,7 +5,7 @@
 using TweetDuck.Browser.Handling.General;
 using TweetDuck.Controls;
 using TweetDuck.Utils;
-using TweetLib.Core.Features.Updates;
+using TweetLib.Core.Systems.Updates;
 using TweetLib.Core.Utils;
 
 namespace TweetDuck.Dialogs.Settings{
diff --git a/Program.cs b/Program.cs
index 870ad829..c3f66713 100644
--- a/Program.cs
+++ b/Program.cs
@@ -14,8 +14,8 @@
 using TweetDuck.Resources;
 using TweetDuck.Utils;
 using TweetLib.Core;
-using TweetLib.Core.Application.Helpers;
 using TweetLib.Core.Collections;
+using TweetLib.Core.Systems.Startup;
 using TweetLib.Core.Utils;
 using Win = System.Windows.Forms;
 
diff --git a/Updates/FormUpdateDownload.cs b/Updates/FormUpdateDownload.cs
index 328e1aac..e22ccd39 100644
--- a/Updates/FormUpdateDownload.cs
+++ b/Updates/FormUpdateDownload.cs
@@ -1,6 +1,6 @@
 using System;
 using System.Windows.Forms;
-using TweetLib.Core.Features.Updates;
+using TweetLib.Core.Systems.Updates;
 
 namespace TweetDuck.Updates{
     sealed partial class FormUpdateDownload : Form{
diff --git a/Updates/UpdateCheckClient.cs b/Updates/UpdateCheckClient.cs
index fed7eaf0..bf30290d 100644
--- a/Updates/UpdateCheckClient.cs
+++ b/Updates/UpdateCheckClient.cs
@@ -6,7 +6,7 @@
 using System.Threading.Tasks;
 using System.Web.Script.Serialization;
 using TweetDuck.Utils;
-using TweetLib.Core.Features.Updates;
+using TweetLib.Core.Systems.Updates;
 using TweetLib.Core.Utils;
 using JsonObject = System.Collections.Generic.IDictionary<string, object>;
 
diff --git a/lib/TweetLib.Core/Features/Plugins/Config/PluginConfigInstance.cs b/lib/TweetLib.Core/Features/Plugins/Config/PluginConfigInstance.cs
index 91326383..3fb0a3e7 100644
--- a/lib/TweetLib.Core/Features/Plugins/Config/PluginConfigInstance.cs
+++ b/lib/TweetLib.Core/Features/Plugins/Config/PluginConfigInstance.cs
@@ -2,7 +2,7 @@
 using System.Collections.Generic;
 using System.IO;
 using System.Text;
-using TweetLib.Core.Features.Configuration;
+using TweetLib.Core.Systems.Configuration;
 
 namespace TweetLib.Core.Features.Plugins.Config{
     public sealed class PluginConfigInstance<T> : IConfigInstance<T> where T : BaseConfig, IPluginConfig{
diff --git a/lib/TweetLib.Core/Features/Configuration/BaseConfig.cs b/lib/TweetLib.Core/Systems/Configuration/BaseConfig.cs
similarity index 96%
rename from lib/TweetLib.Core/Features/Configuration/BaseConfig.cs
rename to lib/TweetLib.Core/Systems/Configuration/BaseConfig.cs
index d586ac34..528a9cc7 100644
--- a/lib/TweetLib.Core/Features/Configuration/BaseConfig.cs
+++ b/lib/TweetLib.Core/Systems/Configuration/BaseConfig.cs
@@ -1,7 +1,7 @@
 using System;
 using System.Collections.Generic;
 
-namespace TweetLib.Core.Features.Configuration{
+namespace TweetLib.Core.Systems.Configuration{
     public abstract class BaseConfig{
         private readonly IConfigManager configManager;
 
diff --git a/lib/TweetLib.Core/Features/Configuration/FileConfigInstance.cs b/lib/TweetLib.Core/Systems/Configuration/FileConfigInstance.cs
similarity index 98%
rename from lib/TweetLib.Core/Features/Configuration/FileConfigInstance.cs
rename to lib/TweetLib.Core/Systems/Configuration/FileConfigInstance.cs
index 28468093..56e316d5 100644
--- a/lib/TweetLib.Core/Features/Configuration/FileConfigInstance.cs
+++ b/lib/TweetLib.Core/Systems/Configuration/FileConfigInstance.cs
@@ -2,7 +2,7 @@
 using System.IO;
 using TweetLib.Core.Serialization;
 
-namespace TweetLib.Core.Features.Configuration{
+namespace TweetLib.Core.Systems.Configuration{
     public sealed class FileConfigInstance<T> : IConfigInstance<T> where T : BaseConfig{
         public T Instance { get; }
         public FileSerializer<T> Serializer { get; }
diff --git a/lib/TweetLib.Core/Features/Configuration/IConfigInstance.cs b/lib/TweetLib.Core/Systems/Configuration/IConfigInstance.cs
similarity index 74%
rename from lib/TweetLib.Core/Features/Configuration/IConfigInstance.cs
rename to lib/TweetLib.Core/Systems/Configuration/IConfigInstance.cs
index b36f5819..706b72b2 100644
--- a/lib/TweetLib.Core/Features/Configuration/IConfigInstance.cs
+++ b/lib/TweetLib.Core/Systems/Configuration/IConfigInstance.cs
@@ -1,4 +1,4 @@
-namespace TweetLib.Core.Features.Configuration{
+namespace TweetLib.Core.Systems.Configuration{
     public interface IConfigInstance<out T>{
         T Instance { get; }
 
diff --git a/lib/TweetLib.Core/Features/Configuration/IConfigManager.cs b/lib/TweetLib.Core/Systems/Configuration/IConfigManager.cs
similarity index 76%
rename from lib/TweetLib.Core/Features/Configuration/IConfigManager.cs
rename to lib/TweetLib.Core/Systems/Configuration/IConfigManager.cs
index 4023c4c0..61d99dff 100644
--- a/lib/TweetLib.Core/Features/Configuration/IConfigManager.cs
+++ b/lib/TweetLib.Core/Systems/Configuration/IConfigManager.cs
@@ -1,4 +1,4 @@
-namespace TweetLib.Core.Features.Configuration{
+namespace TweetLib.Core.Systems.Configuration{
     public interface IConfigManager{
         void TriggerProgramRestartRequested();
         IConfigInstance<BaseConfig> GetInstanceInfo(BaseConfig instance);
diff --git a/lib/TweetLib.Core/Application/Helpers/LockManager.cs b/lib/TweetLib.Core/Systems/Startup/LockManager.cs
similarity index 99%
rename from lib/TweetLib.Core/Application/Helpers/LockManager.cs
rename to lib/TweetLib.Core/Systems/Startup/LockManager.cs
index b548eeb2..6bbe852f 100644
--- a/lib/TweetLib.Core/Application/Helpers/LockManager.cs
+++ b/lib/TweetLib.Core/Systems/Startup/LockManager.cs
@@ -4,7 +4,7 @@
 using System.IO;
 using System.Threading;
 
-namespace TweetLib.Core.Application.Helpers{
+namespace TweetLib.Core.Systems.Startup{
     public sealed class LockManager{
         private const int RetryDelay = 250;
 
diff --git a/lib/TweetLib.Core/Features/Updates/IUpdateCheckClient.cs b/lib/TweetLib.Core/Systems/Updates/IUpdateCheckClient.cs
similarity index 77%
rename from lib/TweetLib.Core/Features/Updates/IUpdateCheckClient.cs
rename to lib/TweetLib.Core/Systems/Updates/IUpdateCheckClient.cs
index 7467bf33..60663f86 100644
--- a/lib/TweetLib.Core/Features/Updates/IUpdateCheckClient.cs
+++ b/lib/TweetLib.Core/Systems/Updates/IUpdateCheckClient.cs
@@ -1,6 +1,6 @@
 using System.Threading.Tasks;
 
-namespace TweetLib.Core.Features.Updates{
+namespace TweetLib.Core.Systems.Updates{
     public interface IUpdateCheckClient{
         bool CanCheck { get; }
         Task<UpdateInfo> Check();
diff --git a/lib/TweetLib.Core/Features/Updates/UpdateCheckEventArgs.cs b/lib/TweetLib.Core/Systems/Updates/UpdateCheckEventArgs.cs
similarity index 89%
rename from lib/TweetLib.Core/Features/Updates/UpdateCheckEventArgs.cs
rename to lib/TweetLib.Core/Systems/Updates/UpdateCheckEventArgs.cs
index 0d97b236..962278aa 100644
--- a/lib/TweetLib.Core/Features/Updates/UpdateCheckEventArgs.cs
+++ b/lib/TweetLib.Core/Systems/Updates/UpdateCheckEventArgs.cs
@@ -1,7 +1,7 @@
 using System;
 using TweetLib.Core.Data;
 
-namespace TweetLib.Core.Features.Updates{
+namespace TweetLib.Core.Systems.Updates{
     public sealed class UpdateCheckEventArgs : EventArgs{
         public int EventId { get; }
         public Result<UpdateInfo> Result { get; }
diff --git a/lib/TweetLib.Core/Features/Updates/UpdateDownloadStatus.cs b/lib/TweetLib.Core/Systems/Updates/UpdateDownloadStatus.cs
similarity index 91%
rename from lib/TweetLib.Core/Features/Updates/UpdateDownloadStatus.cs
rename to lib/TweetLib.Core/Systems/Updates/UpdateDownloadStatus.cs
index 84794d22..61415eb7 100644
--- a/lib/TweetLib.Core/Features/Updates/UpdateDownloadStatus.cs
+++ b/lib/TweetLib.Core/Systems/Updates/UpdateDownloadStatus.cs
@@ -1,4 +1,4 @@
-namespace TweetLib.Core.Features.Updates{
+namespace TweetLib.Core.Systems.Updates{
     public enum UpdateDownloadStatus{
         None = 0,
         InProgress,
diff --git a/lib/TweetLib.Core/Features/Updates/UpdateHandler.cs b/lib/TweetLib.Core/Systems/Updates/UpdateHandler.cs
similarity index 98%
rename from lib/TweetLib.Core/Features/Updates/UpdateHandler.cs
rename to lib/TweetLib.Core/Systems/Updates/UpdateHandler.cs
index 7105285d..78591df8 100644
--- a/lib/TweetLib.Core/Features/Updates/UpdateHandler.cs
+++ b/lib/TweetLib.Core/Systems/Updates/UpdateHandler.cs
@@ -5,7 +5,7 @@
 using TweetLib.Core.Data;
 using Timer = System.Timers.Timer;
 
-namespace TweetLib.Core.Features.Updates{
+namespace TweetLib.Core.Systems.Updates{
     public sealed class UpdateHandler : IDisposable{
         public const int CheckCodeUpdatesDisabled = -1;
         
diff --git a/lib/TweetLib.Core/Features/Updates/UpdateInfo.cs b/lib/TweetLib.Core/Systems/Updates/UpdateInfo.cs
similarity index 98%
rename from lib/TweetLib.Core/Features/Updates/UpdateInfo.cs
rename to lib/TweetLib.Core/Systems/Updates/UpdateInfo.cs
index 6423495d..bdc14716 100644
--- a/lib/TweetLib.Core/Features/Updates/UpdateInfo.cs
+++ b/lib/TweetLib.Core/Systems/Updates/UpdateInfo.cs
@@ -3,7 +3,7 @@
 using System.Net;
 using TweetLib.Core.Utils;
 
-namespace TweetLib.Core.Features.Updates{
+namespace TweetLib.Core.Systems.Updates{
     public sealed class UpdateInfo{
         public string VersionTag { get; }
         public string ReleaseNotes { get; }