diff --git a/bin/gargantext-import/Main.hs b/bin/gargantext-import/Main.hs
index 83c6327cf4bf162f4eb94458187ce32e795e2913..c7f1b3edc51c8021a6df312cfd1ee9a4bdc1922e 100644
--- a/bin/gargantext-import/Main.hs
+++ b/bin/gargantext-import/Main.hs
@@ -28,7 +28,7 @@ import Gargantext.API.Admin.Types (GargError)
 import Gargantext.Core (Lang(..))
 import Gargantext.Core.Types.Individu (User(..))
 import Gargantext.Database.Action.Flow (FlowCmdM, flowCorpusFile, flowAnnuaire, TermType(..))
-import Gargantext.Database.Action.Query.User (insertUsersDemo)
+import Gargantext.Database.Query.Table.User (insertUsersDemo)
 import Gargantext.Database.Admin.Types.Node (CorpusId, toHyperdataDocument)
 import Gargantext.Database.Admin.Utils (Cmd, )
 import Gargantext.Prelude
diff --git a/bin/gargantext-init/Main.hs b/bin/gargantext-init/Main.hs
index a9ad81c8293a21b3d2722744999e7b9034eb27cb..2df00e72ff0c612d1a5dbcbff9d0039d151e89a2 100644
--- a/bin/gargantext-init/Main.hs
+++ b/bin/gargantext-init/Main.hs
@@ -21,17 +21,17 @@ module Main where
 
 import Data.Either (Either(..))
 import Data.Maybe (Maybe(..))
-import Gargantext.API.Node () -- instances
 import Gargantext.API.Admin.Settings (withDevEnv, runCmdDev)
 import Gargantext.API.Admin.Types (GargError)
+import Gargantext.API.Node () -- instances
 import Gargantext.Core.Types.Individu (UserId, User(..))
 import Gargantext.Database.Action.Flow (getOrMkRoot, getOrMk_RootWithCorpus)
+import Gargantext.Database.Query.Table.Node (getOrMkList)
+import Gargantext.Database.Query.Table.User (insertUsersDemo)
 import Gargantext.Database.Admin.Config (userMaster, corpusMasterName)
 import Gargantext.Database.Admin.Trigger.Init (initTriggers)
 import Gargantext.Database.Admin.Types.Node (CorpusId, RootId, HyperdataCorpus, ListId)
 import Gargantext.Database.Admin.Utils (Cmd, )
-import Gargantext.Database.Action.Query.Node (getOrMkList)
-import Gargantext.Database.Action.Query.User (insertUsersDemo)
 import Gargantext.Prelude
 import System.Environment (getArgs)
 
diff --git a/package.yaml b/package.yaml
index 11f530fda0de593775b829401a9e70a33cbba210..6b662d7bedab08569e9784985c0244745556fa7a 100644
--- a/package.yaml
+++ b/package.yaml
@@ -36,8 +36,8 @@ library:
   - Gargantext.Core.Types.Main
   - Gargantext.Core.Utils.Prefix
   - Gargantext.Database.Action.Flow
-  - Gargantext.Database.Action.Query.User
-  - Gargantext.Database.Action.Query.Node
+  - Gargantext.Database.Query.Table.User
+  - Gargantext.Database.Query.Table.Node
   - Gargantext.Database.Admin.Utils
   - Gargantext.Database.Admin.Trigger.Init
   - Gargantext.Database.Admin.Config
diff --git a/src/Gargantext/Database/Action/Flow/List.hs b/src/Gargantext/Database/Action/Flow/List.hs
index 13a7174acaa58d2fd351a1b9e5c1a6b5f8a36c55..427474fa112e21ef0e35b4639246f694d87fe17b 100644
--- a/src/Gargantext/Database/Action/Flow/List.hs
+++ b/src/Gargantext/Database/Action/Flow/List.hs
@@ -26,29 +26,19 @@ module Gargantext.Database.Action.Flow.List
 
 import Control.Monad (mapM_)
 import Data.Map (Map, toList)
-import Data.Either
 import Data.Maybe (Maybe(..), catMaybes)
-import Data.Set (Set)
 import Data.Text (Text)
 import Gargantext.API.Ngrams (NgramsElement(..), putListNgrams)
-import Gargantext.Core (Lang(..))
-import Gargantext.Core.Types.Individu
 import Gargantext.Core.Flow.Types
 import Gargantext.Core.Types.Main (ListType(CandidateTerm))
 import Gargantext.Database.Action.Flow.Types
-import Gargantext.Database.Admin.Config (userMaster, corpusMasterName)
 import Gargantext.Database.Admin.Types.Node -- (HyperdataDocument(..), NodeType(..), NodeId, UserId, ListId, CorpusId, RootId, MasterCorpusId, MasterUserId)
-import Gargantext.Database.Admin.Utils (Cmd)
-import Gargantext.Database.Schema.Ngrams -- (insertNgrams, Ngrams(..), NgramsIndexed(..), indexNgrams,  NgramsType(..), text2ngrams, ngramsTypeId)
 import Gargantext.Database.Query.Table.NodeNgrams (NodeNgramsPoly(..), NodeNgramsW, listInsertDb, getCgramsId)
+import Gargantext.Database.Schema.Ngrams -- (insertNgrams, Ngrams(..), NgramsIndexed(..), indexNgrams,  NgramsType(..), text2ngrams, ngramsTypeId)
 import Gargantext.Database.Schema.Node_NodeNgramsNodeNgrams -- (insert_Node_NodeNgrams_NodeNgrams, Node_NodeNgrams_NodeNgrams(..))
 import Gargantext.Prelude
-import Gargantext.Text.List
 import qualified Data.List as List
 import qualified Data.Map  as Map
-import qualified Data.Set as Set
-import Gargantext.Database.Action.Metrics.NgramsByNode
-import Gargantext.Database.Query.Tree.Root (getOrMk_RootWithCorpus)
 
 -- FLOW LIST
 -- 1. select specific terms of the corpus when compared with others langs
diff --git a/src/Gargantext/Database/Action/Search.hs b/src/Gargantext/Database/Action/Search.hs
index 85d7e9b986eca3cb08248ca08c5356cda9d46db5..6f6d70ef1b7b9d5adc7046ee814689c08f0506af 100644
--- a/src/Gargantext/Database/Action/Search.hs
+++ b/src/Gargantext/Database/Action/Search.hs
@@ -36,7 +36,7 @@ import Gargantext.Database.Admin.Types.Node (NodeType(..))
 import Gargantext.Database.Admin.Utils (Cmd, runPGSQuery, runOpaQuery, runCountOpaQuery)
 import Gargantext.Database.Schema.Ngrams
 import Gargantext.Database.Schema.Node
-import Gargantext.Database.Schema.NodeNode hiding (joinInCorpus)
+import Gargantext.Database.Schema.NodeNode
 import Gargantext.Database.Schema.NodeNodeNgrams
 import Gargantext.Prelude
 import Gargantext.Text.Terms.Mono.Stem.En (stemIt)
diff --git a/src/Gargantext/Database/Query/Table/NodeNode.hs b/src/Gargantext/Database/Query/Table/NodeNode.hs
index 3e00519b7cad88fc2c059d6649addf7e7f262d9f..f888ba818fa1c47ab06065ff67915a64f0c8eb06 100644
--- a/src/Gargantext/Database/Query/Table/NodeNode.hs
+++ b/src/Gargantext/Database/Query/Table/NodeNode.hs
@@ -28,9 +28,7 @@ module Gargantext.Database.Query.Table.NodeNode where
 
 import Control.Arrow (returnA)
 import Control.Lens (view, (^.))
-import Control.Lens.TH (makeLenses)
-import Data.Maybe (Maybe, catMaybes)
-import Data.Profunctor.Product.TH (makeAdaptorAndInstance)
+import Data.Maybe (catMaybes)
 import Data.Text (Text, splitOn)
 import Database.PostgreSQL.Simple.SqlQQ (sql)
 import Database.PostgreSQL.Simple.Types (Values(..), QualifiedIdentifier(..))
diff --git a/src/Gargantext/Database/Query/Table/User.hs b/src/Gargantext/Database/Query/Table/User.hs
index 72529b0a69affd1e2ecd1e04fc568d1e810dc651..9dd29a891e655dc1f3625abb078f18f217fb40f9 100644
--- a/src/Gargantext/Database/Query/Table/User.hs
+++ b/src/Gargantext/Database/Query/Table/User.hs
@@ -27,6 +27,12 @@ module Gargantext.Database.Query.Table.User
   ( insertUsers
   , queryUserTable
   , getUser
+  , gargantextUser
+  , insertUsersDemo
+  , selectUsersLight
+  , userWithUsername
+  , userWithId
+  , userLightWithId
   , module Gargantext.Database.Schema.User
   )
   where
diff --git a/src/Gargantext/Database/Schema/Node.hs b/src/Gargantext/Database/Schema/Node.hs
index 69a41d34155cd4c204b7a91013e136619f0c8759..92c5d6c9ed4368e20524c1f562f6825615c29ef5 100644
--- a/src/Gargantext/Database/Schema/Node.hs
+++ b/src/Gargantext/Database/Schema/Node.hs
@@ -27,8 +27,6 @@ Portability : POSIX
 module Gargantext.Database.Schema.Node where
 
 import Control.Lens hiding (elements, (&))
-import Data.Text (Text)
-import Gargantext.Database.Admin.Utils
 import Gargantext.Database.Schema.Prelude
 import Prelude hiding (null, id, map, sum)
 
diff --git a/src/Gargantext/Database/Schema/NodeNgrams.hs b/src/Gargantext/Database/Schema/NodeNgrams.hs
index ef19cc8856872b970ac6d4d3e1efea207b0c3664..1586f145ff54a4674e5752d37d33e40838fb73bb 100644
--- a/src/Gargantext/Database/Schema/NodeNgrams.hs
+++ b/src/Gargantext/Database/Schema/NodeNgrams.hs
@@ -26,17 +26,11 @@ NodeNgrams register Context of Ngrams (named Cgrams then)
 
 module Gargantext.Database.Schema.NodeNgrams where
 
-import Data.List.Extra (nubOrd)
-import Data.Map (Map)
-import Data.Maybe (Maybe, fromMaybe)
+import Data.Maybe (Maybe)
 import Data.Text (Text)
-import Gargantext.Database.Schema.Prelude
 import Gargantext.Core.Types
-import Gargantext.Database.Admin.Utils
-import Gargantext.Database.Schema.Ngrams (NgramsType, ngramsTypeId, fromNgramsTypeId)
+import Gargantext.Database.Schema.Ngrams (NgramsType)
 import Gargantext.Prelude
-import qualified Data.List as List
-import qualified Data.Map as Map
 
 
 data NodeNgramsPoly id
diff --git a/src/Gargantext/Database/Schema/NodeNode.hs b/src/Gargantext/Database/Schema/NodeNode.hs
index 230110228d58f8b1686d399a82b2d6ab97ac23e7..4a5851facf74d1514fb4d2dac30d86cce53b592f 100644
--- a/src/Gargantext/Database/Schema/NodeNode.hs
+++ b/src/Gargantext/Database/Schema/NodeNode.hs
@@ -26,22 +26,11 @@ commentary with @some markup@.
 
 module Gargantext.Database.Schema.NodeNode where
 
-import Control.Arrow (returnA)
-import Control.Lens (view, (^.))
-import Control.Lens.TH (makeLenses)
-import Data.Maybe (Maybe, catMaybes)
-import Data.Text (Text, splitOn)
+import Data.Maybe (Maybe)
 import Gargantext.Core.Types
-import Gargantext.Database.Admin.Types.Node (pgNodeId)
-import Gargantext.Database.Admin.Config (nodeTypeId)
-import Gargantext.Database.Admin.Types.Node (CorpusId, DocId)
 import Gargantext.Database.Admin.Utils
-import Gargantext.Database.Schema.Node
 import Gargantext.Database.Schema.Prelude
 import Gargantext.Prelude
-import Opaleye
-import qualified Database.PostgreSQL.Simple as PGS (Query, Only(..))
-import qualified Opaleye as O
 
 
 data NodeNodePoly node1_id node2_id score cat
diff --git a/src/Gargantext/Database/Schema/Node_NodeNgramsNodeNgrams.hs b/src/Gargantext/Database/Schema/Node_NodeNgramsNodeNgrams.hs
index 5f5269bfa42555cc56876e1d52f3106b7d4ca51b..0a363604b73b5ff7fb55e0c3b4846507e99e6553 100644
--- a/src/Gargantext/Database/Schema/Node_NodeNgramsNodeNgrams.hs
+++ b/src/Gargantext/Database/Schema/Node_NodeNgramsNodeNgrams.hs
@@ -43,7 +43,6 @@ import Gargantext.Database.Admin.Utils (Cmd, runOpaQuery, mkCmd)
 import Gargantext.Database.Admin.Types.Node (CorpusId, pgNodeId)
 import Gargantext.Database.Schema.Node()
 import Gargantext.Prelude
-import Opaleye
 
 data Node_NodeNgrams_NodeNgrams_Poly node_id nng1_id nng2_id weight =
   Node_NodeNgrams_NodeNgrams { _nnn_node_id :: !node_id
diff --git a/src/Gargantext/Database/Schema/NodesNgramsRepo.hs b/src/Gargantext/Database/Schema/NodesNgramsRepo.hs
index 8699feeaadc377bb4481ad7ce54da052e67ea1c2..1a4038fc455ad22c070752438847820f9dad7783 100644
--- a/src/Gargantext/Database/Schema/NodesNgramsRepo.hs
+++ b/src/Gargantext/Database/Schema/NodesNgramsRepo.hs
@@ -35,7 +35,6 @@ import Gargantext.Database.Schema.Ngrams (NgramsType)
 import Gargantext.Database.Admin.Types.Node (NodeId)
 import Gargantext.Database.Admin.Utils (mkCmd, Cmd, runOpaQuery)
 import Gargantext.Prelude
-import Opaleye
 
 
 data RepoDbPoly version patches
diff --git a/src/Gargantext/Viz/Graph/API.hs b/src/Gargantext/Viz/Graph/API.hs
index 59f748d8634f775fa1a4ae8630da9a78352c3ca7..97795d166e08af9fbb3e6f340a9a80000ec95ead 100644
--- a/src/Gargantext/Viz/Graph/API.hs
+++ b/src/Gargantext/Viz/Graph/API.hs
@@ -52,7 +52,7 @@ import Gargantext.Database.Query.Table.Node.Select
 import Gargantext.Database.Query.Table.Node
 import Gargantext.Database.Query.Table.Node.User
 import Gargantext.Database.Admin.Types.Errors (HasNodeError)
-import Gargantext.Database.Admin.Types.Node hiding (node_id) -- (GraphId, ListId, CorpusId, NodeId)
+import Gargantext.Database.Admin.Types.Node
 import Gargantext.Database.Query.Table.Node.UpdateOpaleye (updateHyperdata)
 import Gargantext.Database.Admin.Utils (Cmd)
 import Gargantext.Prelude