diff --git a/src/store/index.js b/src/store/index.js
index fcfac59..2afadd0 100644
--- a/src/store/index.js
+++ b/src/store/index.js
@@ -11,8 +11,8 @@
 import BootSettingsStore from './modules/Operations/BootSettingsStore';
 import ControlStore from './modules/Operations/ControlStore';
 import PowerControlStore from './modules/Operations/PowerControlStore';
-import PowerPolicyStore from './modules/Operations/PowerPolicyStore';
-import NetworkSettingStore from './modules/Configuration/NetworkSettingsStore';
+import PowerPolicyStore from './modules/Settings/PowerPolicyStore';
+import NetworkStore from './modules/Settings/NetworkStore';
 import EventLogStore from './modules/Logs/EventLogStore';
 import SensorsStore from './modules/HardwareStatus/SensorsStore';
 import ServerLedStore from './modules/HardwareStatus/ServerLedStore';
@@ -24,11 +24,11 @@
 import BmcStore from './modules/HardwareStatus/BmcStore';
 import ProcessorStore from './modules/HardwareStatus/ProcessorStore';
 import PostCodeLogsStore from './modules/Logs/PostCodeLogsStore';
-import SecuritySettingsStore from './modules/Configuration/SecuritySettingsStore';
+import SecuritySettingsStore from './modules/Settings/SecuritySettingsStore';
 import FactoryResetStore from './modules/Operations/FactoryResetStore';
 
 import WebSocketPlugin from './plugins/WebSocketPlugin';
-import DateTimeStore from './modules/Configuration/DateTimeSettingsStore';
+import DateTimeStore from './modules/Settings/DateTimeStore';
 import VirtualMediaStore from './modules/Operations/VirtualMediaStore';
 
 Vue.use(Vuex);
@@ -50,7 +50,7 @@
     powerControl: PowerControlStore,
     powerPolicy: PowerPolicyStore,
     powerSupply: PowerSupplyStore,
-    networkSettings: NetworkSettingStore,
+    network: NetworkStore,
     eventLog: EventLogStore,
     sensors: SensorsStore,
     sslCertificates: SslCertificatesStore,
diff --git a/src/store/modules/Configuration/DateTimeSettingsStore.js b/src/store/modules/Settings/DateTimeStore.js
similarity index 89%
rename from src/store/modules/Configuration/DateTimeSettingsStore.js
rename to src/store/modules/Settings/DateTimeStore.js
index f431a74..51b722a 100644
--- a/src/store/modules/Configuration/DateTimeSettingsStore.js
+++ b/src/store/modules/Settings/DateTimeStore.js
@@ -30,7 +30,7 @@
           console.log(error);
         });
     },
-    async updateDateTimeSettings({ state }, dateTimeForm) {
+    async updateDateTime({ state }, dateTimeForm) {
       const ntpData = {
         NTP: {
           ProtocolEnabled: dateTimeForm.ntpProtocolEnabled,
@@ -68,15 +68,11 @@
           }
         })
         .then(() => {
-          return i18n.t(
-            'pageDateTimeSettings.toast.successSaveDateTimeSettings'
-          );
+          return i18n.t('pageDateTime.toast.successSaveDateTime');
         })
         .catch((error) => {
           console.log(error);
-          throw new Error(
-            i18n.t('pageDateTimeSettings.toast.errorSaveDateTimeSettings')
-          );
+          throw new Error(i18n.t('pageDateTime.toast.errorSaveDateTime'));
         });
     },
   },
diff --git a/src/store/modules/Configuration/NetworkSettingsStore.js b/src/store/modules/Settings/NetworkStore.js
similarity index 92%
rename from src/store/modules/Configuration/NetworkSettingsStore.js
rename to src/store/modules/Settings/NetworkStore.js
index 159c5bf..4040658 100644
--- a/src/store/modules/Configuration/NetworkSettingsStore.js
+++ b/src/store/modules/Settings/NetworkStore.js
@@ -2,7 +2,7 @@
 import i18n from '@/i18n';
 import { find, remove } from 'lodash';
 
-const NetworkSettingsStore = {
+const NetworkStore = {
   namespaced: true,
   state: {
     defaultGateway: '',
@@ -100,16 +100,14 @@
         )
         .then(() => dispatch('getEthernetData'))
         .then(() => {
-          return i18n.t('pageNetworkSettings.toast.successSaveNetworkSettings');
+          return i18n.t('pageNetwork.toast.successSaveNetworkSettings');
         })
         .catch((error) => {
           console.log(error);
-          throw new Error(
-            i18n.t('pageNetworkSettings.toast.errorSaveNetworkSettings')
-          );
+          throw new Error(i18n.t('pageNetwork.toast.errorSaveNetworkSettings'));
         });
     },
   },
 };
 
-export default NetworkSettingsStore;
+export default NetworkStore;
diff --git a/src/store/modules/Operations/PowerPolicyStore.js b/src/store/modules/Settings/PowerPolicyStore.js
similarity index 100%
rename from src/store/modules/Operations/PowerPolicyStore.js
rename to src/store/modules/Settings/PowerPolicyStore.js
diff --git a/src/store/modules/Configuration/SecuritySettingsStore.js b/src/store/modules/Settings/SecuritySettingsStore.js
similarity index 100%
rename from src/store/modules/Configuration/SecuritySettingsStore.js
rename to src/store/modules/Settings/SecuritySettingsStore.js
