diff --git a/src/Views/ForceDirectedGraph.elm b/src/Views/ForceDirectedGraph.elm
index 572767bf84d7988b4151eebf91b43951a278ee2b..8d14fab03ac0e91356c34f34403a5f6dd38e69ee 100644
--- a/src/Views/ForceDirectedGraph.elm
+++ b/src/Views/ForceDirectedGraph.elm
@@ -41,9 +41,8 @@ view global local =
         [ Html.div [ style "display" "flex", style "flex-direction" "row", style "align-items" "center" ]
             [ Html.h2 [ style "margin" "0" ]
                 [ Html.text "Force directed Graph" ]
-
-            -- , Html.button [ Local.RecalcStart |> propagate |> onClick, style "margin-left" "auto" ]
-            --     [ Html.i [ Html.Attributes.class "fa-solid fa-repeat fa-xl" ] [] ]
+            , Html.button [ Local.RecalcStart |> propagate |> onClick, style "margin-left" "auto" ]
+                [ Html.i [ Html.Attributes.class "fa-solid fa-repeat fa-xl" ] [] ]
             , Html.div [ style "margin-left" "auto" ]
                 [ Html.text "Jahr: "
                 , allYears
@@ -76,7 +75,17 @@ view global local =
                         |> g [ class [ "nodes" ] ]
                     ]
             , Html.div [ Html.Attributes.class "legend", style "width" "19%" ]
-                [ Html.h3 [] [ Html.text "Legende" ]
+                [ Html.div [ style "display" "flex" ]
+                    [ Html.h3 []
+                        [ Html.text "Legende"
+                        ]
+                    , if not <| local.highlight == "" then
+                        Html.button [ Local.Highlight "" |> propagate |> onClick, style "margin-left" "auto" ]
+                            [ Html.i [ Html.Attributes.class "fa-solid fa-repeat fa-xl" ] [] ]
+
+                      else
+                        Html.div [] []
+                    ]
                 , List.map
                     (\ent ->
                         [ flag ent.state
@@ -195,57 +204,81 @@ postInit data year =
             Graph.mapContexts initializeNode <| makeGraph filteredData year
 
         forces =
-            [ --Force.customLinks 1
-              --  (List.map link (Graph.edges graph))
-              --  Force.manyBodyStrength -10 <|
-              --    List.map .id <|
-              --        Graph.nodes graph
-              --,
-              -- Force.collision
-              --   20
-              -- <|
-              --   List.map .id <|
-              --       Graph.nodes graph
-              --Graph.edges graph
-              --  |> List.map
-              --      (\e ->
-              --          let
-              --              meanNotIssRat =
-              --                  rowsWithBoth (findName e.from) (findName e.to)
-              --                      |> List.map
-              --                          (\ent ->
-              --                              let
-              --                                  totApp =
-              --                                      Maybe.withDefault 0 <| ent.totalVisasApplied
-              --                                  totIss =
-              --                                      Maybe.withDefault 0 <| ent.totalVisasIssued
-              --                                  notIss =
-              --                                      totApp - totIss
-              --                                  notIssRat =
-              --                                      notIss / totApp
-              --                              in
-              --                              if not (isNaN notIssRat) && not (notIssRat < 0) then
-              --                                  notIssRat
-              --                              else
-              --                                  0
-              --                          )
-              --                      |> List.Statistics.mean
-              --                      |> Maybe.withDefault 0
-              --          in
-              --          { source = e.from, target = e.to, distance = min w h * (1 - meanNotIssRat) / 1.5, strength = Just 1 }
-              --      )
-              --  |> Force.customLinks 3
-              Graph.nodes graph
+            [ Graph.nodes graph
                 |> List.map
                     (\n ->
                         let
-                            invrejected =
-                                0.1
+                            cc =
+                                List.Extra.getAt (findName n.id |> findPos) allCountries
+                                    |> Maybe.withDefault "??"
+
+                            rows =
+                                List.filter (\e -> e.state == cc) filteredData
+
+                            acceptedRatio =
+                                (List.map (\e -> Maybe.withDefault 0 <| e.totalVisasApplied) rows
+                                    |> List.Statistics.mean
+                                    |> Maybe.withDefault 1
+                                )
+                                    / (List.map (\e -> Maybe.withDefault 0 <| e.totalVisasIssued) rows
+                                        |> List.Statistics.mean
+                                        |> Maybe.withDefault 1
+                                      )
+
+                            _ =
+                                Debug.log "DEBUG" <| "cc " ++ Debug.toString cc ++ " aR: " ++ Debug.toString acceptedRatio
                         in
-                        ( n.id, -10 )
+                        ( n.id, 0.5 * acceptedRatio )
                     )
-                |> Force.customManyBody 0.9
+                |> Force.customManyBody 0.99
+
+            --Force.customLinks 1
+            --  (List.map link (Graph.edges graph))
+            --  Force.manyBodyStrength -10 <|
+            --    List.map .id <|
+            --        Graph.nodes graph
+            , Graph.nodes graph
+                |> List.map
+                    (\e ->
+                        ( e.id
+                        , if List.member (findName e.id) countryNames then
+                            30
 
+                          else
+                            10
+                        )
+                    )
+                |> Force.customCollision { iterations = 1, strength = 1.0 }
+
+            --Graph.edges graph
+            --  |> List.map
+            --      (\e ->
+            --          let
+            --              meanNotIssRat =
+            --                  rowsWithBoth (findName e.from) (findName e.to)
+            --                      |> List.map
+            --                          (\ent ->
+            --                              let
+            --                                  totApp =
+            --                                      Maybe.withDefault 0 <| ent.totalVisasApplied
+            --                                  totIss =
+            --                                      Maybe.withDefault 0 <| ent.totalVisasIssued
+            --                                  notIss =
+            --                                      totApp - totIss
+            --                                  notIssRat =
+            --                                      notIss / totApp
+            --                              in
+            --                              if not (isNaN notIssRat) && not (notIssRat < 0) then
+            --                                  notIssRat
+            --                              else
+            --                                  0
+            --                          )
+            --                      |> List.Statistics.mean
+            --                      |> Maybe.withDefault 0
+            --          in
+            --          { source = e.from, target = e.to, distance = min w h * (1 - meanNotIssRat) / 1.5, strength = Just 1 }
+            --      )
+            --  |> Force.customLinks 3
             --, Graph.edges graph
             --    |> List.map
             --        (\i ->
@@ -290,15 +323,16 @@ postInit data year =
             --                { source = i.from, target = i.to, distance = 10, strength = Just 1 }
             --        )
             --    |> Force.customLinks 1
-            --, Graph.nodes graph
-            --    |> List.map
-            --        (\i ->
-            --            if isSchengen i data then
-            --                ( i.id, { strength = 4.0, x = w / 2, y = h / 2, radius = min h w / 3.0 } )
-            --            else
-            --                ( i.id, { strength = 4.0, x = w / 2, y = h / 2, radius = min h w / 1.2 } )
-            --        )
-            --    |> Force.customRadial
+            , Graph.nodes graph
+                |> List.map
+                    (\i ->
+                        if isSchengen i data then
+                            ( i.id, { strength = 4.0, x = w / 2, y = h / 2, radius = min h w / 3.0 } )
+
+                        else
+                            ( i.id, { strength = 4.0, x = w / 2, y = h / 2, radius = min h w / 1.2 } )
+                    )
+                |> Force.customRadial
             , Force.center
                 (w / 2)
                 (h / 2)