diff --git a/AideDeJeu/AideDeJeu.Android/AideDeJeu.Android.csproj b/AideDeJeu/AideDeJeu.Android/AideDeJeu.Android.csproj
index 2789c1d0..86fb8bf2 100644
--- a/AideDeJeu/AideDeJeu.Android/AideDeJeu.Android.csproj
+++ b/AideDeJeu/AideDeJeu.Android/AideDeJeu.Android.csproj
@@ -106,8 +106,8 @@
     
     
     
-    
-      Assets\database.db
+    
+      Assets\library.db
     
     
     
diff --git a/AideDeJeu/AideDeJeu.GTK/AideDeJeu.GTK.csproj b/AideDeJeu/AideDeJeu.GTK/AideDeJeu.GTK.csproj
index 2b39f25d..8b57fbf6 100644
--- a/AideDeJeu/AideDeJeu.GTK/AideDeJeu.GTK.csproj
+++ b/AideDeJeu/AideDeJeu.GTK/AideDeJeu.GTK.csproj
@@ -196,6 +196,9 @@
     
   
   
+    
+      library.db
+    
     
     
     
diff --git a/AideDeJeu/AideDeJeu.UWP/AideDeJeu.UWP.csproj b/AideDeJeu/AideDeJeu.UWP/AideDeJeu.UWP.csproj
index 30465eff..32fb56f5 100644
--- a/AideDeJeu/AideDeJeu.UWP/AideDeJeu.UWP.csproj
+++ b/AideDeJeu/AideDeJeu.UWP/AideDeJeu.UWP.csproj
@@ -109,8 +109,8 @@
     
       Designer
     
-    
-      database.db
+    
+      library.db
     
     
     
diff --git a/AideDeJeu/AideDeJeu.iOS/AideDeJeu.iOS.csproj b/AideDeJeu/AideDeJeu.iOS/AideDeJeu.iOS.csproj
index b4896203..ffacfaed 100644
--- a/AideDeJeu/AideDeJeu.iOS/AideDeJeu.iOS.csproj
+++ b/AideDeJeu/AideDeJeu.iOS/AideDeJeu.iOS.csproj
@@ -90,8 +90,8 @@
   
     
     
-    
-      Resources\database.db
+    
+      Resources\library.db
     
     
     
diff --git a/AideDeJeu/AideDeJeu.iOS/NativeAPI.cs b/AideDeJeu/AideDeJeu.iOS/NativeAPI.cs
index 059e1122..ea0db5e1 100644
--- a/AideDeJeu/AideDeJeu.iOS/NativeAPI.cs
+++ b/AideDeJeu/AideDeJeu.iOS/NativeAPI.cs
@@ -2,6 +2,7 @@
 using System;
 using System.IO;
 using Foundation;
+using System.Threading.Tasks;
 
 [assembly: Xamarin.Forms.Dependency(typeof(AideDeJeu.Droid.Version_Android))]
 namespace AideDeJeu.Droid
@@ -22,9 +23,9 @@ namespace AideDeJeu.Droid
             return res ? build : 0;
         }
 
-        public string GetDatabasePath(string databaseName)
+        public async Task GetDatabasePathAsync(string databaseName)
         {
-            return NSBundle.MainBundle.PathForResource("database", "db");
+            return NSBundle.MainBundle.PathForResource("library", "db");
             //var databasePath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments), "..", "Library", databaseName);
             //return databasePath;
         }
diff --git a/AideDeJeu/AideDeJeu/ViewModels/DeepSearchViewModel.cs b/AideDeJeu/AideDeJeu/ViewModels/DeepSearchViewModel.cs
index b59880b2..5c2b02fc 100644
--- a/AideDeJeu/AideDeJeu/ViewModels/DeepSearchViewModel.cs
+++ b/AideDeJeu/AideDeJeu/ViewModels/DeepSearchViewModel.cs
@@ -59,7 +59,7 @@ namespace AideDeJeu.ViewModels
 
         public async Task> DeepSearchAllItemsAsync(string searchText)
         {
-            using (var context = await StoreViewModel.GetDatabaseContextAsync())
+            using (var context = await StoreViewModel.GetLibraryContextAsync())
             {
                 var primary = await context.Items.
                     Where(item => item.Name.Contains(searchText)).
diff --git a/AideDeJeu/AideDeJeu/ViewModels/FilterViewModel.cs b/AideDeJeu/AideDeJeu/ViewModels/FilterViewModel.cs
index 089874e1..9673b4aa 100644
--- a/AideDeJeu/AideDeJeu/ViewModels/FilterViewModel.cs
+++ b/AideDeJeu/AideDeJeu/ViewModels/FilterViewModel.cs
@@ -317,7 +317,7 @@ namespace AideDeJeu.ViewModels
             var ecole = Filters.SingleOrDefault(filter => filter.Key == FilterKeys.School).SelectedKey ?? "";
             var ritual = Filters.SingleOrDefault(filter => filter.Key == FilterKeys.Ritual).SelectedKey ?? "";
             var source = Filters.SingleOrDefault(filter => filter.Key == FilterKeys.Source).SelectedKey ?? "";
-            using (var context = await StoreViewModel.GetDatabaseContextAsync())
+            using (var context = await StoreViewModel.GetLibraryContextAsync())
             {
                 return context.SpellsVO.Where(spell =>
                                         levelComparer.Compare(spell.Level, niveauMin) >= 0 &&
@@ -397,7 +397,7 @@ namespace AideDeJeu.ViewModels
             var ecole = Filters.SingleOrDefault(filter => filter.Key == FilterKeys.School).SelectedKey ?? "";
             var ritual = Filters.SingleOrDefault(filter => filter.Key == FilterKeys.Ritual).SelectedKey ?? "";
             var source = Filters.SingleOrDefault(filter => filter.Key == FilterKeys.Source).SelectedKey ?? "";
-            using (var context = await StoreViewModel.GetDatabaseContextAsync())
+            using (var context = await StoreViewModel.GetLibraryContextAsync())
             {
                 return context.SpellsHD.Where(spell =>
                                         levelComparer.Compare(spell.Level, niveauMin) >= 0 &&
@@ -658,7 +658,7 @@ namespace AideDeJeu.ViewModels
             var source = Filters.SingleOrDefault(filter => filter.Key == FilterKeys.Source).SelectedKey ?? "";
             token.ThrowIfCancellationRequested();
 
-            using (var context = await StoreViewModel.GetDatabaseContextAsync())
+            using (var context = await StoreViewModel.GetLibraryContextAsync())
             {
                 return context.MonstersVO.Where(monster =>
                                         monster != null &&
@@ -774,7 +774,7 @@ namespace AideDeJeu.ViewModels
             var source = Filters.SingleOrDefault(filter => filter.Key == FilterKeys.Source).SelectedKey ?? "";
             token.ThrowIfCancellationRequested();
 
-            using (var context = await StoreViewModel.GetDatabaseContextAsync())
+            using (var context = await StoreViewModel.GetLibraryContextAsync())
             {
                 return context.MonstersHD.Where(monster =>
                                         monster != null &&
@@ -907,7 +907,7 @@ namespace AideDeJeu.ViewModels
             var minPrice = Filters.SingleOrDefault(filter => filter.Key == FilterKeys.MinPrice).SelectedKey ?? "0 pc";
             var maxPrice = Filters.SingleOrDefault(filter => filter.Key == FilterKeys.MaxPrice).SelectedKey ?? "1 000 000 po";
 
-            using (var context = await GetDatabaseContextAsync())
+            using (var context = await GetLibraryContextAsync())
             {
                 return context.Equipments.Where(equipment =>
                     equipment.Type.ToLower().Contains(type.ToLower()) &&
@@ -1007,7 +1007,7 @@ namespace AideDeJeu.ViewModels
             var rarity = Filters.SingleOrDefault(filter => filter.Key == FilterKeys.Rarity).SelectedKey ?? "";
             var attunement = Filters.SingleOrDefault(filter => filter.Key == FilterKeys.Attunement).SelectedKey ?? "";
 
-            using (var context = await GetDatabaseContextAsync())
+            using (var context = await GetLibraryContextAsync())
             {
                 return context.MagicItems.Where(magicitem =>
                     MatchContains(magicitem.Type, type) &&
diff --git a/AideDeJeu/AideDeJeu/ViewModels/StoreViewModel.cs b/AideDeJeu/AideDeJeu/ViewModels/StoreViewModel.cs
index 128980de..527d8578 100644
--- a/AideDeJeu/AideDeJeu/ViewModels/StoreViewModel.cs
+++ b/AideDeJeu/AideDeJeu/ViewModels/StoreViewModel.cs
@@ -402,9 +402,9 @@ namespace AideDeJeu.ViewModels
             }
         }
 
-        public static async Task GetDatabaseContextAsync()
+        public static async Task GetLibraryContextAsync()
         {
-            var dbPath = await DependencyService.Get().GetDatabasePathAsync("database.db");
+            var dbPath = await DependencyService.Get().GetDatabasePathAsync("library.db");
             return new AideDeJeuContext(dbPath);
         }
 
@@ -415,7 +415,7 @@ namespace AideDeJeu.ViewModels
             {
                 id += $"#{anchor}";
             }
-            using (var context = await GetDatabaseContextAsync())
+            using (var context = await GetLibraryContextAsync())
             {
                 return await context.Items.Where(item => item.Id == id).FirstOrDefaultAsync();
             }
diff --git a/AideDeJeu/AideDeJeu/Views/ItemDetailPage.xaml.cs b/AideDeJeu/AideDeJeu/Views/ItemDetailPage.xaml.cs
index 4f3c82ce..6875f4fc 100644
--- a/AideDeJeu/AideDeJeu/Views/ItemDetailPage.xaml.cs
+++ b/AideDeJeu/AideDeJeu/Views/ItemDetailPage.xaml.cs
@@ -62,7 +62,7 @@ namespace AideDeJeu.Views
         async Task InitDBEngineAsync()
         {
             await Task.Delay(1000).ConfigureAwait(false);
-            using (var context = await StoreViewModel.GetDatabaseContextAsync().ConfigureAwait(false))
+            using (var context = await StoreViewModel.GetLibraryContextAsync().ConfigureAwait(false))
             {
                 var item = context.Items.FirstOrDefault();
             }
diff --git a/AideDeJeu/AideDeJeuCmd/AideDeJeuCmd.csproj b/AideDeJeu/AideDeJeuCmd/AideDeJeuCmd.csproj
index 8a572204..2f441371 100644
--- a/AideDeJeu/AideDeJeuCmd/AideDeJeuCmd.csproj
+++ b/AideDeJeu/AideDeJeuCmd/AideDeJeuCmd.csproj
@@ -7,7 +7,7 @@
   
 
   
-    
+    
   
 
   
diff --git a/AideDeJeu/AideDeJeuCmd/Program.cs b/AideDeJeu/AideDeJeuCmd/Program.cs
index 14f2b593..8f5cd0d1 100644
--- a/AideDeJeu/AideDeJeuCmd/Program.cs
+++ b/AideDeJeu/AideDeJeuCmd/Program.cs
@@ -48,7 +48,7 @@ namespace AideDeJeuCmd
                     .Build();
                 //var document = Markdig.Parsers.MarkdownParser.Parse(md, pipeline);
                 //DumpMarkdownDocument(document);
-                var monsters = DependencyService.Get().ToItem(filename, md) as IEnumerable; // document.ToMonsters();
+                var monsters = DependencyService.Get().ToItem(filename, md, null) as IEnumerable; // document.ToMonsters();
                 //document.Dump();
                 Console.WriteLine("ok");
                 //var md2 = monsters.ToMarkdownString();
@@ -66,7 +66,7 @@ namespace AideDeJeuCmd
 
             var result = string.Empty;
             var md = await LoadStringAsync(dataDir + "spells_hd.md");
-            var items = DependencyService.Get().ToItem("spells_hd", md) as IEnumerable;
+            var items = DependencyService.Get().ToItem("spells_hd", md, null) as IEnumerable;
 
             var classes = new string[]
             {
@@ -132,7 +132,7 @@ namespace AideDeJeuCmd
                 //if (name.Contains("_hd."))
                 //{
                     var md = await Helpers.GetResourceStringAsync(name);
-                    var item = DependencyService.Get().ToItem(name, md);
+                    var item = DependencyService.Get().ToItem(name, md, null);
                     allitems.Add(name, item);
                 //}
             }
@@ -300,7 +300,7 @@ namespace AideDeJeuCmd
             var store = new StoreViewModel();
             await store.PreloadAllItemsAsync();
 
-            using (var context = await StoreViewModel.GetDatabaseContextAsync())
+            using (var context = await StoreViewModel.GetLibraryContextAsync())
             {
                 await context.Database.EnsureDeletedAsync();
                 await context.Database.EnsureCreatedAsync();
diff --git a/Data/database.db b/Data/library.db
similarity index 100%
rename from Data/database.db
rename to Data/library.db