diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -59,3 +59,8 @@
 
 * Seventh version. Some code improvements. Added also the properties with weighted functions that try to increase
 the importance of the line ending and to decrease the importance of the beginnings.
+
+## 0.8.0.0 -- 2021-08-17
+
+* Eigth version. Fixed issues with wrong mapping. Some code improvements. Added also the properties with linear
+weighted functions.
diff --git a/Phonetic/Languages/Array/General/PropertiesSyllablesG2.hs b/Phonetic/Languages/Array/General/PropertiesSyllablesG2.hs
--- a/Phonetic/Languages/Array/General/PropertiesSyllablesG2.hs
+++ b/Phonetic/Languages/Array/General/PropertiesSyllablesG2.hs
@@ -234,12 +234,12 @@
      "x2" -> x0F (Ch 0 1 4) (Rhythm 1 2 1)
      "x3" -> x0F (Ch 0 0 4) (Rhythm 1 1 2)
      _ -> x0F (Ch 0 0 4) (Rhythm 1 1 2)
- | take 1 choice `elem` ["c","B","C","M","N"] = let just_probe = readRhythmicity choice in
+ | take 1 choice `elem` ["c","M","N"] || (take 1 choice >= "A" && take 1 choice <= "F") = let just_probe = readRhythmicity choice in
            case just_probe of
              Just (P1 ch rh _) -> rhythmicityG f (rhythmicityABC 1.0 2.0 0.125 ch rh . mconcat)
              Just (P2 ch rh r _) -> rhythmicityG f ((helperF5 (take 1 choice)) 1.0 r ch rh . mconcat)
              _ -> rhythmicity0i f
- | (take 1 choice >= "s" && take 1 choice <= "v") || (take 1 choice >= "I" && take 1 choice <= "Z") = if
+ | (take 1 choice >= "b" && take 1 choice <= "v") || (take 1 choice >= "I" && take 1 choice <= "Z") = if
      | (drop 1 . take 2 $ choice) >= "0" && (drop 1 . take 2 $ choice) <= "3" ->
          let u0F rs = rhythmicityG f ((helperF6 (take 1 choice)) 1.0 4 (PolyCh rs 5) (PolyRhythm [1,2,1,1]) . mconcat) in
                case drop 1 . take 2 $ choice of
@@ -275,8 +275,8 @@
    | choice `elem` ["x21","x22","x23","x24"] -> x0F (Ch 0 1 4) (Rhythm 1 2 1)
    | choice `elem` ["x31","x32","x33","x34"] -> x0F (Ch 0 0 4) (Rhythm 1 1 2)
    | otherwise -> x0F (Ch 1 0 4) (Rhythm 1 1 2)
- | (take 1 choice `elem` ["c","B","C"]) || (take 1 choice >= "I" && take 1 choice <= "Z") = rhythmicity k choice h CF0
- | take 1 choice >= "u" && take 1 choice <= "t" = rhythmicity k choice h CF0
+ | take 1 choice == "c" || (take 1 choice >= "A" && take 1 choice <= "Z" && take 1 choice `notElem` ["G","H"]) = rhythmicity k choice h CF0
+ | take 1 choice >= "b" && take 1 choice <= "v" = rhythmicity k choice h CF0
  | otherwise = rhythmicityKi f (fromMaybe 1.0 x) (fromMaybe 1.0 y)
      where f = h k choice
            w0F ch rh = rhythmicityG f (rhythmicityABC 1.0 (fromMaybe 2.0 x) (fromMaybe 0.125 y) ch rh . mconcat)
@@ -285,6 +285,10 @@
            {-# INLINE x0F #-}
 
 helperF5 xs
+ | xs == "A" = rhythmicityPolyWeightedLEF2
+ | xs == "D" = rhythmicityPolyWeightedLF2
+ | xs == "E" = rhythmicityPolyWeightedLEF3
+ | xs == "F" = rhythmicityPolyWeightedLF3
  | xs == "B" = rhythmicityPolyWeightedEF2
  | xs == "C" = rhythmicityPolyWeightedF2
  | xs == "M" = rhythmicityPolyWeightedEF3
@@ -302,4 +306,12 @@
    | xs == "P" || xs == "R" = rhythmicityPolyWeightedEF20
    | xs == "I" || xs == "K" = rhythmicityPolyWeightedEF3
    | xs == "J" || xs == "L" = rhythmicityPolyWeightedEF30
+   | xs == "o" || xs == "q" = rhythmicityPolyWeightedLF2
+   | xs == "p" || xs == "r" = rhythmicityPolyWeightedLF20
+   | xs == "k" || xs == "m" = rhythmicityPolyWeightedLF3
+   | xs == "l" || xs == "n" = rhythmicityPolyWeightedLF30
+   | xs == "g" || xs == "i" = rhythmicityPolyWeightedLEF2
+   | xs == "h" || xs == "j" = rhythmicityPolyWeightedLEF20
+   | xs == "b" || xs == "e" = rhythmicityPolyWeightedLEF3
+   | xs == "d" || xs == "f" = rhythmicityPolyWeightedLEF30
    | otherwise = rhythmicityPoly
diff --git a/phonetic-languages-simplified-generalized-properties-array.cabal b/phonetic-languages-simplified-generalized-properties-array.cabal
--- a/phonetic-languages-simplified-generalized-properties-array.cabal
+++ b/phonetic-languages-simplified-generalized-properties-array.cabal
@@ -3,7 +3,7 @@
 -- http://haskell.org/cabal/users-guide/
 
 name:                phonetic-languages-simplified-generalized-properties-array
-version:             0.7.0.0
+version:             0.8.0.0
 synopsis:            Some 'properties' of the phonetic languages approach text.
 description:         Generalizes the functionality of the https://hackage.haskell.org/package/phonetic-languages-simplified-properties-array
 homepage:            https://hackage.haskell.org/package/phonetic-languages-simplified-generalized-properties-array
@@ -21,6 +21,6 @@
   exposed-modules:     Phonetic.Languages.Array.General.PropertiesFuncRepG2, Phonetic.Languages.Array.General.PropertiesSyllablesG2
   -- other-modules:
   other-extensions:    CPP, BangPatterns, MultiWayIf
-  build-depends:       base >=4.8 && <4.15, phonetic-languages-simplified-base >=0.2 && <1, phonetic-languages-rhythmicity >=0.8 && <1, phonetic-languages-phonetics-basics >=0.8.1 && <1
+  build-depends:       base >=4.8 && <4.15, phonetic-languages-simplified-base >=0.2 && <1, phonetic-languages-rhythmicity >=0.9 && <1, phonetic-languages-phonetics-basics >=0.8.1 && <1
   -- hs-source-dirs:
   default-language:    Haskell2010
