diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -10,7 +10,10 @@
 
 ## 0.3.0.0 -- 2022-01-15
 
-* Third version. Added module Phonetic.Languages.Permutations.ArrMini1 with permutations for just one word replacements. 
+* Third version. Added module Phonetic.Languages.Permutations.ArrMini1 with permutations for just one word replacements.
 Changed the default value for some functions from the Phonetic.Languages.Permutations.ArrMini from 7 to 10 (that is more
 logical).
 
+## 0.3.0.1 -- 2022-01-15
+
+* Third version revised A. Some code improvements.
diff --git a/Phonetic/Languages/Permutations/ArrMini1.hs b/Phonetic/Languages/Permutations/ArrMini1.hs
--- a/Phonetic/Languages/Permutations/ArrMini1.hs
+++ b/Phonetic/Languages/Permutations/ArrMini1.hs
@@ -30,7 +30,7 @@
 {-# INLINE genPairwisePermutations1 #-}
 
 pairsSwapP1 :: [Int] -> [[Int]]
-pairsSwapP1 xs = xs:[swap2Ls1 k m xs | k <- xs, m <- xs , k /= m, abs (k - m) /= 1] `mappend` [swap2Ls1 k (k - 1) xs | k <- drop 1 xs ]
+pairsSwapP1 xs = xs:[swap2Ls1 k m xs | k <- xs, m <- xs , abs (k - m) > 1] `mappend` [swap2Ls1 k (k - 1) xs | k <- drop 1 xs ]
 {-# INLINABLE pairsSwapP1 #-}
 
 -- | The first two arguments are considered not equal and all three of the arguments are considered greater or equal to 0, though it is not checked.
@@ -41,15 +41,13 @@
       | m < k -> m
       | m > n -> m
       | m >= k && m < n -> m + 1
-      | m == n -> k
-      | otherwise -> m
+      | otherwise -> k
  | otherwise =
      if
        | m > k -> m
        | m < n -> m
        | m <= k && m > n -> m - 1
-       | m == n -> k
-       | otherwise -> m
+       | otherwise -> k
 {-# INLINE swap2ns1 #-}
 
 swap2Ls1 :: Int -> Int -> [Int] -> [Int]
diff --git a/phonetic-languages-permutations-array.cabal b/phonetic-languages-permutations-array.cabal
--- a/phonetic-languages-permutations-array.cabal
+++ b/phonetic-languages-permutations-array.cabal
@@ -2,7 +2,7 @@
 -- For further documentation, see http://haskell.org/cabal/users-guide/
 
 name:                phonetic-languages-permutations-array
-version:             0.3.0.0
+version:             0.3.0.1
 synopsis:            Permutations and universal set related functions for the phonetic-languages series
 description:         Permutations-related to produce universal set of the task. Uses arrays instead of vectors.
 homepage:            https://hackage.haskell.org/package/phonetic-languages-permutations-array
@@ -20,6 +20,6 @@
   exposed-modules:     Phonetic.Languages.Permutations.Arr, Phonetic.Languages.Permutations.ArrMini, Phonetic.Languages.Permutations.ArrMini1
   -- other-modules:
   other-extensions:    MultiWayIf
-  build-depends:       base >=4.8 && <4.15, subG >=0.4.2 && <1
+  build-depends:       base >=4.8 && <5, subG >=0.4.2 && <1
   -- hs-source-dirs:
   default-language:    Haskell2010
