diff --git a/lib/globals.dart b/lib/globals.dart
index 7ba792664b1a5d3598c4de3dcd1e87e1236b791c..0f5428187fc7d03a853e7168ecd7c30b6018415b 100644
--- a/lib/globals.dart
+++ b/lib/globals.dart
@@ -10,10 +10,11 @@ import 'package:shared_preferences/shared_preferences.dart';
 // Files paths
 Directory? appPath;
 
-String? appVersion;
-SharedPreferences? prefs;
-String? endPointGVA;
-int? ramSys;
+late String appVersion;
+late SharedPreferences prefs;
+late String endPointGVA;
+const int pinLength = 5;
+
 late Box<WalletData> walletBox;
 late Box<ChestData> chestBox;
 late Box configBox;
diff --git a/lib/main.dart b/lib/main.dart
index 5ce5d9770182cc66079cf6fb1242a9e30cf5c749..c8917218600ed43bfe5498de3345e3493f08066f 100644
--- a/lib/main.dart
+++ b/lib/main.dart
@@ -19,18 +19,18 @@ import 'dart:async';
 import 'dart:io';
 import 'package:flutter/services.dart';
 import 'package:gecko/globals.dart';
-import 'package:gecko/models/cesium_plus.dart';
-import 'package:gecko/models/change_pin.dart';
+import 'package:gecko/providers/cesium_plus.dart';
+import 'package:gecko/providers/change_pin.dart';
 import 'package:gecko/models/chest_data.dart';
-import 'package:gecko/models/chest_provider.dart';
+import 'package:gecko/providers/chest_provider.dart';
 import 'package:gecko/models/g1_wallets_list.dart';
-import 'package:gecko/models/generate_wallets.dart';
-import 'package:gecko/models/wallets_profiles.dart';
-import 'package:gecko/models/home.dart';
-import 'package:gecko/models/my_wallets.dart';
-import 'package:gecko/models/search.dart';
+import 'package:gecko/providers/generate_wallets.dart';
+import 'package:gecko/providers/wallets_profiles.dart';
+import 'package:gecko/providers/home.dart';
+import 'package:gecko/providers/my_wallets.dart';
+import 'package:gecko/providers/search.dart';
 import 'package:gecko/models/wallet_data.dart';
-import 'package:gecko/models/wallet_options.dart';
+import 'package:gecko/providers/wallet_options.dart';
 import 'package:gecko/screens/home.dart';
 import 'package:flutter/material.dart';
 import 'package:gecko/screens/myWallets/wallets_home.dart';
diff --git a/lib/models/cesium_plus.dart b/lib/providers/cesium_plus.dart
similarity index 100%
rename from lib/models/cesium_plus.dart
rename to lib/providers/cesium_plus.dart
diff --git a/lib/models/change_pin.dart b/lib/providers/change_pin.dart
similarity index 61%
rename from lib/models/change_pin.dart
rename to lib/providers/change_pin.dart
index 965c269393fb96251d25eca7a792f2ddfdba5a4c..422cf2b9868a87bbe36591a1d7b0836813539610 100644
--- a/lib/models/change_pin.dart
+++ b/lib/providers/change_pin.dart
@@ -9,16 +9,22 @@ class ChangePinProvider with ChangeNotifier {
 
   NewWallet? get badWallet => null;
 
-  NewWallet? changePin(String _oldPin, {String? newCustomPin}) {
+  Future<NewWallet?> changePin(String _oldPin, {String? newCustomPin}) async {
+    final NewWallet newWalletFile;
     try {
-      final _dewif = chestBox.get(configBox.get('currentChest'))!.dewif!;
-
-      // TODO: Durt: Detect if CesiumWallet
-      NewWallet newWalletFile = Dewif().changePassword(
-          dewif: _dewif,
-          oldPassword: _oldPin.toUpperCase(),
-          newPassword: newCustomPin);
-
+      final _chest = chestBox.get(configBox.get('currentChest'))!;
+
+      if (_chest.isCesium!) {
+        newWalletFile = await Dewif().changeCesiumPassword(
+            dewif: _chest.dewif!,
+            oldPassword: _oldPin.toUpperCase(),
+            newPassword: newCustomPin);
+      } else {
+        newWalletFile = await Dewif().changePassword(
+            dewif: _chest.dewif!,
+            oldPassword: _oldPin.toUpperCase(),
+            newPassword: newCustomPin);
+      }
       newPin.text = pinToGive = newWalletFile.password;
       ischangedPin = true;
       // notifyListeners();
diff --git a/lib/models/chest_provider.dart b/lib/providers/chest_provider.dart
similarity index 100%
rename from lib/models/chest_provider.dart
rename to lib/providers/chest_provider.dart
diff --git a/lib/models/generate_wallets.dart b/lib/providers/generate_wallets.dart
similarity index 98%
rename from lib/models/generate_wallets.dart
rename to lib/providers/generate_wallets.dart
index 6cefd849044e06520b3f682c7a9bfba5f8c09356..a364cb1239df94b1451ce39f83de358f1c854fee 100644
--- a/lib/models/generate_wallets.dart
+++ b/lib/providers/generate_wallets.dart
@@ -155,8 +155,8 @@ class GenerateWalletsProvider with ChangeNotifier {
   Future<NewWallet?> generateWallet(String generatedMnemonic,
       {required bool isImport}) async {
     try {
-      actualWallet = Dewif().generateDewif(
-          generatedMnemonic, randomSecretCode(5),
+      actualWallet = await Dewif().generateDewif(
+          generatedMnemonic, randomSecretCode(pinLength),
           lang: 'french');
     } catch (e) {
       log.e(e);
@@ -172,7 +172,7 @@ class GenerateWalletsProvider with ChangeNotifier {
   }
 
   String changePinCode({required bool reload}) {
-    pin.text = randomSecretCode(5);
+    pin.text = randomSecretCode(pinLength);
     if (reload) {
       notifyListeners();
     }
@@ -258,7 +258,7 @@ class GenerateWalletsProvider with ChangeNotifier {
 
     log.d(pin.text);
     NewWallet cesiumDewif =
-        Dewif().generateCesiumDewif(cesiumWallet.seed, pin.text);
+        await Dewif().generateCesiumDewif(cesiumWallet.seed, pin.text);
 
     ChestData cesiumChest = ChestData(
         dewif: cesiumDewif.dewif,
diff --git a/lib/models/home.dart b/lib/providers/home.dart
similarity index 93%
rename from lib/models/home.dart
rename to lib/providers/home.dart
index 3160c3c3b9ab7c586991a2754514f49bf2ed19fb..07f0a6bd05f7a4ee93dddf2d98a7057aa485f8eb 100644
--- a/lib/models/home.dart
+++ b/lib/providers/home.dart
@@ -8,9 +8,9 @@ import 'package:flutter/services.dart';
 import 'dart:async';
 import 'package:gecko/globals.dart';
 import 'package:hive_flutter/hive_flutter.dart';
-import 'package:package_info/package_info.dart';
 import 'package:flutter/foundation.dart' show kIsWeb;
 import 'package:path_provider/path_provider.dart' as pp;
+import 'package:package_info_plus/package_info_plus.dart';
 
 class HomeProvider with ChangeNotifier {
   bool? isSearching;
@@ -49,14 +49,9 @@ class HomeProvider with ChangeNotifier {
   Future<String> getAppVersion() async {
     String version;
     String buildNumber;
-    if (kIsWeb || Platform.isLinux) {
-      version = "undefined";
-      buildNumber = "undefined";
-    } else {
-      PackageInfo packageInfo = await PackageInfo.fromPlatform();
-      version = packageInfo.version;
-      buildNumber = packageInfo.buildNumber;
-    }
+    PackageInfo packageInfo = await PackageInfo.fromPlatform();
+    version = packageInfo.version;
+    buildNumber = packageInfo.buildNumber;
 
     notifyListeners();
     return version + '+' + buildNumber;
@@ -151,7 +146,7 @@ class HomeProvider with ChangeNotifier {
         _message =
             "Aucun noeud Duniter disponible, veuillez réessayer ultérieurement";
       } else {
-        _message = "Vous êtes connecté au noeud\n${endPointGVA!.split('/')[2]}";
+        _message = "Vous êtes connecté au noeud\n${endPointGVA.split('/')[2]}";
       }
       final snackBar = SnackBar(
           content: Text(_message), duration: const Duration(seconds: 2));
diff --git a/lib/models/my_wallets.dart b/lib/providers/my_wallets.dart
similarity index 100%
rename from lib/models/my_wallets.dart
rename to lib/providers/my_wallets.dart
diff --git a/lib/models/search.dart b/lib/providers/search.dart
similarity index 97%
rename from lib/models/search.dart
rename to lib/providers/search.dart
index d2fd4627b9099cc9a5807c3f89eb5c0a912b8706..bacad734b23b99f7584a044bf6d94110dc46e650 100644
--- a/lib/models/search.dart
+++ b/lib/providers/search.dart
@@ -2,7 +2,7 @@ import 'package:dio/dio.dart';
 import 'package:flutter/material.dart';
 import 'package:gecko/globals.dart';
 import 'package:gecko/models/g1_wallets_list.dart';
-import 'package:gecko/models/wallets_profiles.dart';
+import 'package:gecko/providers/wallets_profiles.dart';
 
 class SearchProvider with ChangeNotifier {
   TextEditingController searchController = TextEditingController();
diff --git a/lib/models/wallet_options.dart b/lib/providers/wallet_options.dart
similarity index 95%
rename from lib/models/wallet_options.dart
rename to lib/providers/wallet_options.dart
index 9690275625584ae179c3c29615cd09fd64f2e901..5427c31497f060883ecdd2d2062caadb01e974c1 100644
--- a/lib/models/wallet_options.dart
+++ b/lib/providers/wallet_options.dart
@@ -6,7 +6,7 @@ import 'package:flutter/material.dart';
 import 'dart:async';
 import 'package:gecko/globals.dart';
 import 'package:gecko/models/chest_data.dart';
-import 'package:gecko/models/my_wallets.dart';
+import 'package:gecko/providers/my_wallets.dart';
 import 'package:gecko/models/wallet_data.dart';
 import 'package:image_picker/image_picker.dart';
 import 'package:truncate/truncate.dart';
@@ -94,7 +94,7 @@ class WalletOptionsProvider with ChangeNotifier {
   }
 
   int getPinLenght(_walletNbr) {
-    // TODO: Get real Dewif lenght
+    // TODOo: Get real Dewif lenght
     // String _localDewif;
     // if (_walletNbr is int || _walletNbr == null) {
     //   _localDewif = chestBox.get(configBox.get('currentChest')).dewif;
@@ -105,10 +105,11 @@ class WalletOptionsProvider with ChangeNotifier {
     // final int _pinLenght = DubpRust.getDewifSecretCodeLen(
     //     dewif: _localDewif, secretCodeType: SecretCodeType.letters);
 
-    return 5;
+    return pinLength;
   }
 
-  void _renameWallet(List<int?> _walletID, _newName, {required bool isCesium}) async {
+  void _renameWallet(List<int?> _walletID, _newName,
+      {required bool isCesium}) async {
     if (isCesium) {
       ChestData _chestTarget = chestBox.get(_walletID[0])!;
       _chestTarget.name = _newName;
@@ -144,7 +145,8 @@ class WalletOptionsProvider with ChangeNotifier {
   }
 
   Future<int> deleteWallet(context, WalletData wallet) async {
-    final bool _answer = await (_confirmDeletingWallet(context, wallet.name) as FutureOr<bool>);
+    final bool _answer =
+        await (_confirmDeletingWallet(context, wallet.name) as FutureOr<bool>);
 
     if (_answer) {
       walletBox.delete(wallet.key);
diff --git a/lib/models/wallets_profiles.dart b/lib/providers/wallets_profiles.dart
similarity index 98%
rename from lib/models/wallets_profiles.dart
rename to lib/providers/wallets_profiles.dart
index 562b094a13a33ba437b7fbfea251bf71f4012ffd..75fc2d60031fc783f468729aa5cdd511700cdb0a 100644
--- a/lib/models/wallets_profiles.dart
+++ b/lib/providers/wallets_profiles.dart
@@ -3,7 +3,7 @@ import 'dart:io';
 import 'package:durt/durt.dart';
 import 'package:flutter/material.dart';
 import 'package:gecko/globals.dart';
-import 'package:gecko/models/my_wallets.dart';
+import 'package:gecko/providers/my_wallets.dart';
 import 'package:gecko/models/wallet_data.dart';
 import 'package:gecko/screens/wallet_view.dart';
 import 'package:graphql_flutter/graphql_flutter.dart';
@@ -73,7 +73,7 @@ class WalletsProfilesProvider with ChangeNotifier {
       derivation = defaultWallet!.derivation;
     }
 
-    String result = await Gva(node: endPointGVA!).pay(
+    String result = await Gva(node: endPointGVA).pay(
         recipient: pubkey!,
         amount: double.parse(payAmount.text),
         dewif: dewif,
diff --git a/lib/screens/history.dart b/lib/screens/history.dart
index 8ed13fda7599997f50006a629f5f10d8ce52b8af..315e733dbf28456c15a0288394c537e069ccb2e2 100644
--- a/lib/screens/history.dart
+++ b/lib/screens/history.dart
@@ -1,8 +1,8 @@
 import 'package:flutter/services.dart';
 import 'package:gecko/globals.dart';
-import 'package:gecko/models/cesium_plus.dart';
+import 'package:gecko/providers/cesium_plus.dart';
 import 'package:gecko/models/queries.dart';
-import 'package:gecko/models/wallets_profiles.dart';
+import 'package:gecko/providers/wallets_profiles.dart';
 import 'package:flutter/material.dart';
 import 'package:gecko/screens/avatar_fullscreen.dart';
 import 'package:gecko/screens/wallet_view.dart';
diff --git a/lib/screens/home.dart b/lib/screens/home.dart
index 0523d23c6887a0a3a02db482f1a0a5072463379b..7f25c5ae640614d622ced9e9887617880243e260 100644
--- a/lib/screens/home.dart
+++ b/lib/screens/home.dart
@@ -1,10 +1,10 @@
 import 'package:bubble/bubble.dart';
 import 'package:gecko/globals.dart';
-import 'package:gecko/models/chest_provider.dart';
-import 'package:gecko/models/wallets_profiles.dart';
+import 'package:gecko/providers/chest_provider.dart';
+import 'package:gecko/providers/wallets_profiles.dart';
 import 'package:flutter/material.dart';
-import 'package:gecko/models/home.dart';
-import 'package:gecko/models/my_wallets.dart';
+import 'package:gecko/providers/home.dart';
+import 'package:gecko/providers/my_wallets.dart';
 import 'package:gecko/models/wallet_data.dart';
 import 'package:gecko/screens/myWallets/restore_chest.dart';
 import 'package:gecko/screens/myWallets/unlocking_wallet.dart';
diff --git a/lib/screens/myWallets/cesium_wallet_options.dart b/lib/screens/myWallets/cesium_wallet_options.dart
index d71bd46605632e3e5023ed41bf2591e06927275c..a08143adac3446d994402c8a57df89ae20e384bc 100644
--- a/lib/screens/myWallets/cesium_wallet_options.dart
+++ b/lib/screens/myWallets/cesium_wallet_options.dart
@@ -4,11 +4,11 @@ import 'dart:ui';
 import 'package:flutter/material.dart';
 import 'package:gecko/globals.dart';
 import 'package:gecko/models/chest_data.dart';
-import 'package:gecko/models/chest_provider.dart';
-import 'package:gecko/models/wallets_profiles.dart';
-import 'package:gecko/models/my_wallets.dart';
+import 'package:gecko/providers/chest_provider.dart';
+import 'package:gecko/providers/wallets_profiles.dart';
+import 'package:gecko/providers/my_wallets.dart';
 import 'package:gecko/models/queries.dart';
-import 'package:gecko/models/wallet_options.dart';
+import 'package:gecko/providers/wallet_options.dart';
 import 'package:gecko/screens/history.dart';
 import 'package:gecko/screens/myWallets/change_pin.dart';
 import 'package:graphql_flutter/graphql_flutter.dart';
diff --git a/lib/screens/myWallets/change_pin.dart b/lib/screens/myWallets/change_pin.dart
index 17b1a823b21f7df33eea19458a2dc7bcf2092049..1366e67bfa5d66290fd6ab028bb13ec6a6638114 100644
--- a/lib/screens/myWallets/change_pin.dart
+++ b/lib/screens/myWallets/change_pin.dart
@@ -2,8 +2,8 @@ import 'package:flutter/material.dart';
 import 'package:durt/durt.dart';
 import 'package:flutter/services.dart';
 import 'package:gecko/globals.dart';
-import 'package:gecko/models/change_pin.dart';
-import 'package:gecko/models/my_wallets.dart';
+import 'package:gecko/providers/change_pin.dart';
+import 'package:gecko/providers/my_wallets.dart';
 import 'dart:io';
 import 'package:provider/provider.dart';
 
@@ -49,7 +49,7 @@ class ChangePinScreen extends StatelessWidget with ChangeNotifier {
             child: Column(children: <Widget>[
               StatefulWrapper(
                 onInit: () {
-                  _changePin.newPin.text = randomSecretCode(5);
+                  _changePin.newPin.text = randomSecretCode(pinLength);
                 },
                 child: Container(),
               ),
@@ -80,7 +80,7 @@ class ChangePinScreen extends StatelessWidget with ChangeNotifier {
                     icon: const Icon(Icons.replay),
                     color: orangeC,
                     onPressed: () async {
-                      _changePin.newPin.text = randomSecretCode(5);
+                      _changePin.newPin.text = randomSecretCode(pinLength);
                     },
                   ),
                 ],
@@ -95,12 +95,12 @@ class ChangePinScreen extends StatelessWidget with ChangeNotifier {
                     primary: Colors.green[400], //smoothYellow, // background
                     onPrimary: Colors.black, // foreground
                   ),
-                  onPressed: () {
-                    NewWallet _newWalletFile = _changePin.changePin(
+                  onPressed: () async {
+                    NewWallet? _newWalletFile = await _changePin.changePin(
                         walletProvider.pinCode,
-                        newCustomPin: _changePin.newPin.text)!;
+                        newCustomPin: _changePin.newPin.text);
                     _changePin.newPin.text = '';
-                    _changePin.storeNewPinChest(context, _newWalletFile);
+                    _changePin.storeNewPinChest(context, _newWalletFile!);
                     walletProvider.pinCode = _changePin.newPin.text;
                   },
                   child: const Text(
diff --git a/lib/screens/myWallets/chest_options.dart b/lib/screens/myWallets/chest_options.dart
index 3941562c98982aa8c90b6bda12d830eb61bfeebc..5b6e524070f25f6d3ddbacd769fd97f4db30a008 100644
--- a/lib/screens/myWallets/chest_options.dart
+++ b/lib/screens/myWallets/chest_options.dart
@@ -2,8 +2,8 @@ import 'package:flutter/material.dart';
 import 'package:gecko/globals.dart';
 import 'package:gecko/models/chest_data.dart';
 import 'package:flutter/services.dart';
-import 'package:gecko/models/chest_provider.dart';
-import 'package:gecko/models/my_wallets.dart';
+import 'package:gecko/providers/chest_provider.dart';
+import 'package:gecko/providers/my_wallets.dart';
 import 'package:gecko/screens/myWallets/change_pin.dart';
 import 'package:provider/provider.dart';
 
diff --git a/lib/screens/myWallets/choose_chest.dart b/lib/screens/myWallets/choose_chest.dart
index 1d2622f8794fbfd4e9b234b62ac018774111f929..a07736913c8d8a9503fae1262234f4206b3aa456 100644
--- a/lib/screens/myWallets/choose_chest.dart
+++ b/lib/screens/myWallets/choose_chest.dart
@@ -1,6 +1,6 @@
 import 'package:flutter/services.dart';
 import 'package:gecko/globals.dart';
-import 'package:gecko/models/my_wallets.dart';
+import 'package:gecko/providers/my_wallets.dart';
 import 'package:gecko/models/wallet_data.dart';
 import 'package:flutter/material.dart';
 import 'package:gecko/screens/myWallets/generate_wallets.dart';
diff --git a/lib/screens/myWallets/confirm_wallet_storage.dart b/lib/screens/myWallets/confirm_wallet_storage.dart
index 5e86205a6233fcae725b902b4dbbb7bade0e5abd..b7cd52223fa6044da66d69dffd5cc051ded071cb 100644
--- a/lib/screens/myWallets/confirm_wallet_storage.dart
+++ b/lib/screens/myWallets/confirm_wallet_storage.dart
@@ -3,8 +3,8 @@ import 'package:durt/durt.dart';
 import 'package:flutter/material.dart';
 import 'package:flutter/services.dart';
 import 'package:gecko/globals.dart';
-import 'package:gecko/models/generate_wallets.dart';
-import 'package:gecko/models/my_wallets.dart';
+import 'package:gecko/providers/generate_wallets.dart';
+import 'package:gecko/providers/my_wallets.dart';
 import 'package:gecko/screens/myWallets/unlocking_wallet.dart';
 import 'package:provider/provider.dart';
 
diff --git a/lib/screens/myWallets/generate_wallets.dart b/lib/screens/myWallets/generate_wallets.dart
index 74eafeb801cc2f124ce7838ed9dc8c522ed54980..17204d6cefd2a9565faf266bfe226384ddd95fd0 100644
--- a/lib/screens/myWallets/generate_wallets.dart
+++ b/lib/screens/myWallets/generate_wallets.dart
@@ -1,7 +1,7 @@
 import 'package:durt/durt.dart';
 import 'package:flutter/services.dart';
 import 'package:gecko/globals.dart';
-import 'package:gecko/models/generate_wallets.dart';
+import 'package:gecko/providers/generate_wallets.dart';
 import 'package:gecko/screens/myWallets/confirm_wallet_storage.dart';
 import 'package:flutter/material.dart';
 import 'package:printing/printing.dart';
@@ -31,7 +31,7 @@ class GenerateFastChestScreen extends StatelessWidget {
       _generateWalletProvider.generateWordList();
       _generateWalletProvider.mnemonicController.text =
           _generateWalletProvider.generatedMnemonic!;
-      _generateWalletProvider.pin.text = randomSecretCode(5);
+      _generateWalletProvider.pin.text = randomSecretCode(pinLength);
     }
 
     return Scaffold(
@@ -115,8 +115,8 @@ class GenerateFastChestScreen extends StatelessWidget {
                             ? () async {
                                 _generateWalletProvider.nbrWord =
                                     _generateWalletProvider.getRandomInt();
-                                _generateWalletProvider.actualWallet = Dewif()
-                                    .generateDewif(
+                                _generateWalletProvider.actualWallet =
+                                    await Dewif().generateDewif(
                                         _generateWalletProvider
                                             .generatedMnemonic!,
                                         _generateWalletProvider.pin.text,
diff --git a/lib/screens/myWallets/import_cesium_wallet.dart b/lib/screens/myWallets/import_cesium_wallet.dart
index 84a1052d501564d88237fdf3c94f87c86dc3824a..ff707f1d7bc252e587f59a77b50fe69404b10c4e 100644
--- a/lib/screens/myWallets/import_cesium_wallet.dart
+++ b/lib/screens/myWallets/import_cesium_wallet.dart
@@ -2,11 +2,11 @@ import 'dart:async';
 import 'package:durt/durt.dart';
 import 'package:flutter/services.dart';
 import 'package:gecko/globals.dart';
-import 'package:gecko/models/generate_wallets.dart';
+import 'package:gecko/providers/generate_wallets.dart';
 import 'package:flutter/material.dart';
-import 'package:gecko/models/my_wallets.dart';
+import 'package:gecko/providers/my_wallets.dart';
 import 'package:gecko/models/wallet_data.dart';
-import 'package:gecko/models/wallet_options.dart';
+import 'package:gecko/providers/wallet_options.dart';
 import 'package:gecko/screens/myWallets/unlocking_wallet.dart';
 import 'package:provider/provider.dart';
 
@@ -25,7 +25,7 @@ class ImportWalletScreen extends StatelessWidget {
     MyWalletsProvider _myWalletProvider =
         Provider.of<MyWalletsProvider>(context, listen: false);
 
-    _generateWalletProvider.pin.text = randomSecretCode(5);
+    _generateWalletProvider.pin.text = randomSecretCode(pinLength);
     return WillPopScope(
       onWillPop: () {
         _generateWalletProvider.resetCesiumImportView();
diff --git a/lib/screens/myWallets/restore_chest.dart b/lib/screens/myWallets/restore_chest.dart
index 2e1f47762d47013d44aef31e6d88d005827a6a26..79c798e8d8cc6c9a4639f81f917fe6334e95b8bb 100644
--- a/lib/screens/myWallets/restore_chest.dart
+++ b/lib/screens/myWallets/restore_chest.dart
@@ -2,7 +2,7 @@ import 'package:bubble/bubble.dart';
 import 'package:flutter/services.dart';
 import 'package:gecko/globals.dart';
 import 'package:flutter/material.dart';
-import 'package:gecko/models/generate_wallets.dart';
+import 'package:gecko/providers/generate_wallets.dart';
 import 'package:gecko/screens/common_elements.dart';
 import 'package:gecko/screens/onBoarding/11.dart';
 import 'package:provider/provider.dart';
diff --git a/lib/screens/myWallets/unlocking_wallet.dart b/lib/screens/myWallets/unlocking_wallet.dart
index 3e3f71a6d54d0c83eafd550f711bdc73f748e0cb..ba9b35549f83e1a3d1ec6d61dedfec45b49b72c8 100644
--- a/lib/screens/myWallets/unlocking_wallet.dart
+++ b/lib/screens/myWallets/unlocking_wallet.dart
@@ -1,10 +1,10 @@
 import 'dart:async';
 import 'package:flutter/services.dart';
 import 'package:gecko/models/chest_data.dart';
-import 'package:gecko/models/wallets_profiles.dart';
-import 'package:gecko/models/my_wallets.dart';
+import 'package:gecko/providers/wallets_profiles.dart';
+import 'package:gecko/providers/my_wallets.dart';
 import 'package:gecko/models/wallet_data.dart';
-import 'package:gecko/models/wallet_options.dart';
+import 'package:gecko/providers/wallet_options.dart';
 import 'package:flutter/material.dart';
 import 'package:gecko/screens/myWallets/cesium_wallet_options.dart';
 import 'package:gecko/screens/myWallets/choose_chest.dart';
@@ -52,21 +52,22 @@ class UnlockingWallet extends StatelessWidget {
           crossAxisAlignment: CrossAxisAlignment.start,
           children: <Widget>[
             Stack(children: <Widget>[
-            Positioned(
-              top: statusBarHeight + 10,
-              left: 15,
-              child: Builder(
-                builder: (context) => IconButton(
-                  key: const Key('popButton'),
-                  icon: const Icon(
-                    Icons.arrow_back,
-                    color: Colors.black,
-                    size: 25,
+              Positioned(
+                top: statusBarHeight + 10,
+                left: 15,
+                child: Builder(
+                  builder: (context) => IconButton(
+                    key: const Key('popButton'),
+                    icon: const Icon(
+                      Icons.arrow_back,
+                      color: Colors.black,
+                      size: 25,
+                    ),
+                    onPressed: () => Navigator.pop(context),
                   ),
-                  onPressed: () => Navigator.pop(context),
                 ),
               ),
-            ),Column(children: <Widget>[
+              Column(children: <Widget>[
                 SizedBox(height: isTall ? 100 : 20),
                 Row(
                     mainAxisAlignment: MainAxisAlignment.center,
@@ -129,7 +130,8 @@ class UnlockingWallet extends StatelessWidget {
                       ),
                     )),
               ]),
-          ]),]),
+            ]),
+          ]),
     ));
   }
 
diff --git a/lib/screens/myWallets/wallet_options.dart b/lib/screens/myWallets/wallet_options.dart
index 9585b44c58fa76f2e5c64b5d5d241ea914e29650..519e212b61a255e16ab1c8d7e8142ce35c62dbb2 100644
--- a/lib/screens/myWallets/wallet_options.dart
+++ b/lib/screens/myWallets/wallet_options.dart
@@ -3,11 +3,11 @@ import 'dart:io';
 import 'dart:ui';
 import 'package:flutter/material.dart';
 import 'package:gecko/globals.dart';
-import 'package:gecko/models/my_wallets.dart';
+import 'package:gecko/providers/my_wallets.dart';
 import 'package:gecko/models/queries.dart';
 import 'package:gecko/models/wallet_data.dart';
-import 'package:gecko/models/wallet_options.dart';
-import 'package:gecko/models/wallets_profiles.dart';
+import 'package:gecko/providers/wallet_options.dart';
+import 'package:gecko/providers/wallets_profiles.dart';
 import 'package:gecko/screens/history.dart';
 import 'package:graphql_flutter/graphql_flutter.dart';
 import 'package:provider/provider.dart';
diff --git a/lib/screens/myWallets/wallets_home.dart b/lib/screens/myWallets/wallets_home.dart
index f3057c9ca9d0586f9f37b3763bdb25a6265b17d9..95c2ec661e7402cad478879b847c9c76cb6a3687 100644
--- a/lib/screens/myWallets/wallets_home.dart
+++ b/lib/screens/myWallets/wallets_home.dart
@@ -1,7 +1,7 @@
 import 'package:flutter/services.dart';
 import 'package:gecko/globals.dart';
 import 'package:gecko/models/chest_data.dart';
-import 'package:gecko/models/my_wallets.dart';
+import 'package:gecko/providers/my_wallets.dart';
 import 'package:gecko/models/queries.dart';
 import 'package:gecko/models/wallet_data.dart';
 import 'package:flutter/material.dart';
diff --git a/lib/screens/onBoarding/11.dart b/lib/screens/onBoarding/11.dart
index 9c670eba7f443c3932803cc0ca8f4e9cd3c7567c..0c8822240932e34768da30ffccc4a72ef3b3c72d 100644
--- a/lib/screens/onBoarding/11.dart
+++ b/lib/screens/onBoarding/11.dart
@@ -2,7 +2,7 @@
 import 'package:flutter/services.dart';
 import 'package:flutter/material.dart';
 import 'package:gecko/globals.dart';
-import 'package:gecko/models/generate_wallets.dart';
+import 'package:gecko/providers/generate_wallets.dart';
 import 'package:gecko/screens/common_elements.dart';
 import 'package:gecko/screens/onBoarding/12.dart';
 import 'package:provider/provider.dart';
diff --git a/lib/screens/onBoarding/12.dart b/lib/screens/onBoarding/12.dart
index 05345e2a53068f96103774eaa83878b9d3efc63d..97b66f5a62cd12f4d7774dccb7840b7916560a2f 100644
--- a/lib/screens/onBoarding/12.dart
+++ b/lib/screens/onBoarding/12.dart
@@ -5,9 +5,9 @@ import 'package:durt/durt.dart';
 import 'package:flutter/services.dart';
 import 'package:flutter/material.dart';
 import 'package:gecko/globals.dart';
-import 'package:gecko/models/generate_wallets.dart';
-import 'package:gecko/models/my_wallets.dart';
-import 'package:gecko/models/wallet_options.dart';
+import 'package:gecko/providers/generate_wallets.dart';
+import 'package:gecko/providers/my_wallets.dart';
+import 'package:gecko/providers/wallet_options.dart';
 import 'package:gecko/screens/common_elements.dart';
 import 'package:gecko/screens/onBoarding/13_congratulations.dart';
 import 'package:pin_code_fields/pin_code_fields.dart';
@@ -111,17 +111,17 @@ class OnboardingStepFourteen extends StatelessWidget {
                 blurRadius: 10,
               )
             ],
-            onCompleted: (_pin) {
+            onCompleted: (_pin) async {
               _myWalletProvider.pinCode = _pin;
               _myWalletProvider.pinLenght = _pinLenght;
               log.d(_pin + ' || ' + _generateWalletProvider.pin.text);
               if (_pin.toUpperCase() == _generateWalletProvider.pin.text) {
                 pinColor = Colors.green[500];
-                NewWallet generatedWallet = Dewif().generateDewif(
+                NewWallet generatedWallet = await Dewif().generateDewif(
                     _generateWalletProvider.generatedMnemonic!,
                     _generateWalletProvider.pin.text,
                     lang: 'french');
-                _generateWalletProvider.storeHDWChest(
+                await _generateWalletProvider.storeHDWChest(
                     generatedWallet, 'Mon portefeuille courant', context);
                 _myWalletProvider.readAllWallets(_currentChest);
                 scheduleMicrotask(() {
diff --git a/lib/screens/onBoarding/7.dart b/lib/screens/onBoarding/7.dart
index cda32c8572dcb5042e81226875edca63716f898e..c2d96c3e20d18fafa9e30ce0d3aeaa7e1b5ed43c 100644
--- a/lib/screens/onBoarding/7.dart
+++ b/lib/screens/onBoarding/7.dart
@@ -3,7 +3,7 @@
 import 'package:flutter/services.dart';
 import 'package:flutter/material.dart';
 import 'package:gecko/globals.dart';
-import 'package:gecko/models/generate_wallets.dart';
+import 'package:gecko/providers/generate_wallets.dart';
 import 'package:gecko/screens/common_elements.dart';
 import 'package:gecko/screens/onBoarding/8.dart';
 import 'package:printing/printing.dart';
diff --git a/lib/screens/onBoarding/8.dart b/lib/screens/onBoarding/8.dart
index cca131098e87135ab6a774ce5d3c598b333c01cf..c9ec4ca9eacabace88a93ce0d290ded0274dac3b 100644
--- a/lib/screens/onBoarding/8.dart
+++ b/lib/screens/onBoarding/8.dart
@@ -2,7 +2,7 @@
 import 'package:flutter/services.dart';
 import 'package:flutter/material.dart';
 import 'package:gecko/globals.dart';
-import 'package:gecko/models/generate_wallets.dart';
+import 'package:gecko/providers/generate_wallets.dart';
 import 'package:gecko/screens/common_elements.dart';
 import 'package:gecko/screens/onBoarding/9.dart';
 import 'package:provider/provider.dart';
diff --git a/lib/screens/search.dart b/lib/screens/search.dart
index 5357a24402753c8cb8e2747f628a1ef84d520394..25a2513f3b0b801200f3947b09c942507c36d7a1 100644
--- a/lib/screens/search.dart
+++ b/lib/screens/search.dart
@@ -1,7 +1,7 @@
 import 'package:flutter/services.dart';
 import 'package:gecko/globals.dart';
 import 'package:flutter/material.dart';
-import 'package:gecko/models/search.dart';
+import 'package:gecko/providers/search.dart';
 import 'package:gecko/screens/search_result.dart';
 import 'package:provider/provider.dart';
 // import 'package:gecko/models/home.dart';
diff --git a/lib/screens/search_result.dart b/lib/screens/search_result.dart
index fabf899ef87d2d0ea8d3d9f0a937e07564d961f2..347aacea56e4487d2f6b66f21a4a513c09147b57 100644
--- a/lib/screens/search_result.dart
+++ b/lib/screens/search_result.dart
@@ -1,10 +1,10 @@
 import 'package:flutter/services.dart';
 import 'package:gecko/globals.dart';
 import 'package:flutter/material.dart';
-import 'package:gecko/models/cesium_plus.dart';
+import 'package:gecko/providers/cesium_plus.dart';
 import 'package:gecko/models/g1_wallets_list.dart';
-import 'package:gecko/models/wallets_profiles.dart';
-import 'package:gecko/models/search.dart';
+import 'package:gecko/providers/wallets_profiles.dart';
+import 'package:gecko/providers/search.dart';
 import 'package:gecko/screens/wallet_view.dart';
 import 'package:provider/provider.dart';
 
diff --git a/lib/screens/settings.dart b/lib/screens/settings.dart
index 8e69cdb3a49425efd221f71eb8117d8161299b20..8ce70c29904b29ca8df881964d76fb2367072999 100644
--- a/lib/screens/settings.dart
+++ b/lib/screens/settings.dart
@@ -1,7 +1,7 @@
 import 'package:flutter/material.dart';
 import 'package:durt/durt.dart';
 import 'package:flutter/services.dart';
-import 'package:gecko/models/my_wallets.dart';
+import 'package:gecko/providers/my_wallets.dart';
 import 'package:gecko/screens/myWallets/generate_wallets.dart';
 import 'dart:io';
 import 'package:gecko/screens/myWallets/import_cesium_wallet.dart';
diff --git a/lib/screens/wallet_view.dart b/lib/screens/wallet_view.dart
index f272948440703bde5df846685ceb60eafe1773ca..f9db775df62c353f4801b68052f9d2a80d305595 100644
--- a/lib/screens/wallet_view.dart
+++ b/lib/screens/wallet_view.dart
@@ -1,10 +1,10 @@
 import 'package:flutter/services.dart';
 import 'package:gecko/globals.dart';
 import 'package:flutter/material.dart';
-import 'package:gecko/models/cesium_plus.dart';
-import 'package:gecko/models/my_wallets.dart';
+import 'package:gecko/providers/cesium_plus.dart';
+import 'package:gecko/providers/my_wallets.dart';
 import 'package:gecko/models/wallet_data.dart';
-import 'package:gecko/models/wallets_profiles.dart';
+import 'package:gecko/providers/wallets_profiles.dart';
 import 'package:gecko/models/queries.dart';
 import 'package:gecko/screens/avatar_fullscreen.dart';
 import 'package:gecko/screens/common_elements.dart';
diff --git a/pubspec.lock b/pubspec.lock
index 8d8688f2d5ed40f424640eac19309401a8b5d331..b5a2db7ca007871ac8147f90d49cf8eab8baf7a6 100644
--- a/pubspec.lock
+++ b/pubspec.lock
@@ -301,7 +301,7 @@ packages:
       name: durt
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "0.1.4"
+    version: "0.1.5"
   fake_async:
     dependency: transitive
     description:
@@ -696,15 +696,8 @@ packages:
       url: "https://pub.dartlang.org"
     source: hosted
     version: "2.0.2"
-  package_info:
-    dependency: "direct main"
-    description:
-      name: package_info
-      url: "https://pub.dartlang.org"
-    source: hosted
-    version: "2.0.2"
   package_info_plus:
-    dependency: transitive
+    dependency: "direct main"
     description:
       name: package_info_plus
       url: "https://pub.dartlang.org"
diff --git a/pubspec.yaml b/pubspec.yaml
index a240afe0ce653f884f72225a820bfda6ffbcd839..c6b55fbbc747eb47c516e7deee8619184ddb8971 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -5,7 +5,7 @@ description: Pay with G1.
 # pub.dev using `pub publish`. This is preferred for private packages.
 publish_to: 'none' # Remove this line if you wish to publish to pub.dev
 
-version: 0.0.4+4
+version: 0.0.4+5
 
 environment:
   sdk: '>=2.12.0 <3.0.0'
@@ -39,7 +39,6 @@ dependencies:
   intl: ^0.17.0
   jdenticon_dart: ^2.0.0
   logger: ^1.1.0
-  package_info: ^2.0.2
   path_provider: ^2.0.3
   pdf: ^3.5.0
   permission_handler: ^8.3.0
@@ -63,7 +62,8 @@ dependencies:
   pull_to_refresh: ^2.0.0
   dio: ^4.0.4
   desktop_window: ^0.4.0
-  durt: ^0.1.4
+  durt: ^0.1.5
+  package_info_plus: ^1.3.0
 
 flutter_icons:
   android: "ic_launcher"