diff --git a/src/Gargantext/Core/Text/List.hs b/src/Gargantext/Core/Text/List.hs
index a802618e24048c813672d204f39a9adea8ddfc22..f87fdd7a3e4e1d31ac88012550110a757678fe1f 100644
--- a/src/Gargantext/Core/Text/List.hs
+++ b/src/Gargantext/Core/Text/List.hs
@@ -17,7 +17,6 @@ module Gargantext.Core.Text.List
 
 import Control.Lens hiding (both) -- ((^.), view, over, set, (_1), (_2))
 import Data.Map (Map)
-import Data.Maybe (catMaybes, fromMaybe)
 import Data.Monoid (mempty)
 import Data.Ord (Down(..))
 import Data.Set (Set)
@@ -43,11 +42,9 @@ import Gargantext.Database.Query.Table.Node.Error (HasNodeError())
 import Gargantext.Database.Query.Tree.Error (HasTreeError)
 import Gargantext.Database.Schema.Ngrams (NgramsType(..))
 import Gargantext.Prelude
-import qualified Data.Char as Char
 import qualified Data.List as List
 import qualified Data.Map  as Map
 import qualified Data.Set  as Set
-import qualified Data.Text as Text
 
 
 {-
@@ -138,6 +135,8 @@ buildNgramsTermsList :: ( HasNodeError err
                         -> m (Map NgramsType [NgramsElement])
 buildNgramsTermsList user uCid mCid groupParams (nt, mapListSize)= do
 
+-- | Filter 0 With Double
+
 -- Computing global speGen score
   allTerms :: Map Text Double <- getTficf uCid mCid nt
 
@@ -168,12 +167,15 @@ buildNgramsTermsList user uCid mCid groupParams (nt, mapListSize)= do
     (groupedMonoHead, groupedMonoTail) = splitAt monoSize groupedMono
     (groupedMultHead, groupedMultTail) = splitAt multSize groupedMult
 
+-------------------------
+-- Filter 1 With Set NodeId and SpeGen
     selectedTerms = Set.toList $ hasTerms (groupedMonoHead <> groupedMultHead)
 
  -- TO remove (and remove HasNodeError instance)
   userListId    <- defaultList uCid
   masterListId  <- defaultList mCid
 
+
   mapTextDocIds <- getNodesByNgramsOnlyUser uCid
                                             [userListId, masterListId]
                                             nt
@@ -232,27 +234,27 @@ buildNgramsTermsList user uCid mCid groupParams (nt, mapListSize)= do
     exclSize = 1 - inclSize
 
     splitAt' n' = (both (Map.fromList)) . (List.splitAt (round $ n' * listSizeLocal))
-    sortOn   f  = (List.sortOn (Down . f . _gts'_score . snd)) . Map.toList
+    sortOn   f  = (List.sortOn (Down . (view (gts'_score . f)) . snd)) . Map.toList
 
-    monoInc_size = monoSize * inclSize / 2
-    (monoScoredInclHead, monoScoredInclTail) = splitAt' monoInc_size $ (sortOn _scored_genInc) monoScoredIncl
-    (monoScoredExclHead, monoScoredExclTail) = splitAt' monoInc_size $ (sortOn _scored_speExc) monoScoredExcl
+    monoInc_size = splitAt' $ monoSize * inclSize / 2
+    (monoScoredInclHead, monoScoredInclTail) = monoInc_size $ (sortOn scored_genInc) monoScoredIncl
+    (monoScoredExclHead, monoScoredExclTail) = monoInc_size $ (sortOn scored_speExc) monoScoredExcl
 
-    multExc_size = multSize * exclSize / 2
-    (multScoredInclHead, multScoredInclTail) = splitAt' multExc_size $ (sortOn _scored_genInc) multScoredIncl
-    (multScoredExclHead, multScoredExclTail) = splitAt' multExc_size $ (sortOn _scored_speExc) multScoredExcl
+    multExc_size = splitAt' $ multSize * exclSize / 2
+    (multScoredInclHead, multScoredInclTail) = multExc_size $ (sortOn scored_genInc) multScoredIncl
+    (multScoredExclHead, multScoredExclTail) = multExc_size $ (sortOn scored_speExc) multScoredExcl
 
     -- Final Step building the Typed list
     termListHead = maps <> cands
       where
         maps = setListType (Just MapTerm)
-            $ monoScoredInclHead
+            $   monoScoredInclHead
              <> monoScoredExclHead
              <> multScoredInclHead
              <> multScoredExclHead
 
         cands = setListType (Just CandidateTerm)
-             $ monoScoredInclTail
+             $   monoScoredInclTail
               <> monoScoredExclTail
               <> multScoredInclTail
               <> multScoredExclTail
@@ -267,5 +269,3 @@ buildNgramsTermsList user uCid mCid groupParams (nt, mapListSize)= do
        ]
 
   pure result
-
-------------------------------------------------------------------------------
diff --git a/src/Gargantext/Core/Text/List/Group.hs b/src/Gargantext/Core/Text/List/Group.hs
index 5e1118467857ba02d41c3fcd430dc0323b8e4f32..aaca870400cbf3f239b05983ead55cb2fb57b96d 100644
--- a/src/Gargantext/Core/Text/List/Group.hs
+++ b/src/Gargantext/Core/Text/List/Group.hs
@@ -52,9 +52,6 @@ toGroupedTree groupParams flc scores = {-view flc_scores-} flow2
         True  -> flow1
         False -> groupWithStem' groupParams flow1
 
-{-
-DM.foldlWithKey :: (a -> k -> b -> a) -> a -> Map k b -> a
--}
 
 setScoresWith :: (Ord a, Ord b)
               =>  (Text -> (GroupedTreeScores a) -> (GroupedTreeScores b))
@@ -62,6 +59,11 @@ setScoresWith :: (Ord a, Ord b)
               -> Map Text (GroupedTreeScores b)
 setScoresWith = Map.mapWithKey
 
+{-
+gts :: (Text -> b) -> Text -> GroupedTreeScores a -> GroupedTreeScores b
+gts f t g = over gts'_children set gts'_score (f t) g
+-}
+
 {-
 Map.foldlWithKey (\k v ->
                                    {- over gts'_children (setScoresWith fun)