diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -16,3 +16,9 @@
 
 * First version revised C. Some minor documentation improvements.
 
+## 0.1.3.0 -- 2023-02-27
+
+* First version revised D. Switched to sortOn instead of sortBy. The new variant can be more memory
+consuming, but it is generally speaking not worse in speed and for complex computations can lead
+to less computations.
+
diff --git a/rhythmic-sequences.cabal b/rhythmic-sequences.cabal
--- a/rhythmic-sequences.cabal
+++ b/rhythmic-sequences.cabal
@@ -2,7 +2,7 @@
 name:               rhythmic-sequences
 
 -- The package version.
-version:            0.1.2.1
+version:            0.1.3.0
 
 -- A short (one-line) description of the package.
 synopsis:
diff --git a/src/Rhythmicity/MarkerSeqs.hs b/src/Rhythmicity/MarkerSeqs.hs
--- a/src/Rhythmicity/MarkerSeqs.hs
+++ b/src/Rhythmicity/MarkerSeqs.hs
@@ -112,7 +112,7 @@
   -> [a]
   -> Integer
 count1Hashes groupLength ks = sum . map createNewHash . countHashesPrioritized . getHashes2 groupLength ws 
-    where !ws = sortBy (\x y -> compare y x) . filter (>= 0) $ ks
+    where !ws = sortOn (*(-1)) . filter (>= 0) $ ks
 {-# INLINE count1Hashes #-}
 
 {-| Data type to encode the changes  that are introduced by the position  of the group 
@@ -158,7 +158,7 @@
   zipWith (createHashG f) positions . countHashesPrioritized . getHashes2 groupLength ws
    where f = hashCorrections2F hc
          positions = hashList hc
-         !ws = sortBy (\x y -> compare y x) . filter (>= 0) $ ks
+         !ws = sortOn (*(-1)) . filter (>= 0) $ ks
 {-# INLINE countHashesG #-}
 
 -- | Provided for testing.
