diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -5,9 +5,16 @@
 ## Unreleased changes
 
 
+## Version 0.7.0.1
+
+-   Random 1.2: Parallel functions now require an \`IOGenM\` random number
+    generator.
+-   Fix splitting of the random number generator.
+
+
 ## Version 0.6.1.1
 
--   Remove plotting functionality (gnuplot incompatible with ghc921).
+-   Remove plotting functionality (gnuplot incompatible with ghc922).
 -   Read files strictly.
 -   Refactor; flatten model hierarchy.
 
diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -2,7 +2,7 @@
 
 # The ELynx Suite
 
-Version: 0.6.1.1.
+Version: 0.7.0.0.
 Reproducible evolution made easy.
 
 <p align="center"><img src="https://travis-ci.org/dschrempf/elynx.svg?branch=master"/></p>
@@ -74,9 +74,9 @@
     # OR: slynx --help
 
     Up to date
-    ELynx Suite version 0.6.1.1.
+    ELynx Suite version 0.7.0.0.
     Developed by Dominik Schrempf.
-    Compiled on February 22, 2022, at 15:10 pm, UTC.
+    Compiled on July 10, 2022, at 08:48 am, UTC.
     
     Usage: slynx [-v|--verbosity VALUE] [-o|--output-file-basename NAME]
                  [-f|--force] [--no-elynx-file] COMMAND
@@ -144,16 +144,16 @@
     # OR: slynx simulate --help
 
     Up to date
-    ELynx Suite version 0.6.1.1.
+    ELynx Suite version 0.7.0.0.
     Developed by Dominik Schrempf.
-    Compiled on February 22, 2022, at 15:10 pm, UTC.
+    Compiled on July 10, 2022, at 08:48 am, UTC.
     
     Usage: slynx simulate (-t|--tree-file Name) [-s|--substitution-model MODEL]
                           [-m|--mixture-model MODEL] [-e|--edm-file NAME]
                           [-p|--siteprofile-files NAMES]
                           [-w|--mixture-model-weights "[DOUBLE,DOUBLE,...]"]
                           [-g|--gamma-rate-heterogeneity "(NCAT,SHAPE)"]
-                          (-l|--length NUMBER) [-S|--seed [INT]]
+                          (-l|--length NUMBER) [-S|--seed INT]
       Simulate multi sequence alignments.
     
     Available options:
@@ -175,8 +175,7 @@
       -g,--gamma-rate-heterogeneity "(NCAT,SHAPE)"
                                Number of gamma rate categories and shape parameter
       -l,--length NUMBER       Set alignment length to NUMBER
-      -S,--seed [INT]          Seed for random number generator; list of 32 bit
-                               integers with up to 256 elements (default: random)
+      -S,--seed INT            Seed for random number generator (default: random)
       -h,--help                Show this help text
     
     Substitution models:
diff --git a/elynx-tools.cabal b/elynx-tools.cabal
--- a/elynx-tools.cabal
+++ b/elynx-tools.cabal
@@ -1,57 +1,57 @@
-cabal-version:  3.0
-name:           elynx-tools
-version:        0.6.1.1
-synopsis:       Tools for ELynx
-description:    Please see the README on GitHub at <https://github.com/dschrempf/elynx>.
-category:       Bioinformatics
-homepage:       https://github.com/dschrempf/elynx#readme
-bug-reports:    https://github.com/dschrempf/elynx/issues
-author:         Dominik Schrempf
-maintainer:     dominik.schrempf@gmail.com
-copyright:      Dominik Schrempf (2021)
-license:        GPL-3.0-or-later
-license-file:   LICENSE
-build-type:     Simple
+cabal-version:      3.0
+name:               elynx-tools
+version:            0.7.0.1
+synopsis:           Tools for ELynx
+description:
+  Please see the README on GitHub at <https://github.com/dschrempf/elynx>.
 
+category:           Bioinformatics
+homepage:           https://github.com/dschrempf/elynx#readme
+bug-reports:        https://github.com/dschrempf/elynx/issues
+author:             Dominik Schrempf
+maintainer:         dominik.schrempf@gmail.com
+copyright:          2021 Dominik Schrempf
+license:            GPL-3.0-or-later
+license-file:       LICENSE
+build-type:         Simple
 extra-source-files:
-    README.md
-    ChangeLog.md
+  ChangeLog.md
+  README.md
 
 source-repository head
-  type: git
+  type:     git
   location: https://github.com/dschrempf/elynx
 
 library
   exposed-modules:
-      ELynx.Tools.ByteString
-      ELynx.Tools.Definitions
-      ELynx.Tools.ELynx
-      ELynx.Tools.Environment
-      ELynx.Tools.Equality
-      ELynx.Tools.InputOutput
-      ELynx.Tools.Logger
-      ELynx.Tools.Options
-      ELynx.Tools.Reproduction
-  other-modules:
-      Paths_elynx_tools
-  autogen-modules:
-      Paths_elynx_tools
-  hs-source-dirs: src
-  ghc-options: -Wall -Wunused-packages
+    ELynx.Tools.ByteString
+    ELynx.Tools.Definitions
+    ELynx.Tools.ELynx
+    ELynx.Tools.Environment
+    ELynx.Tools.Equality
+    ELynx.Tools.InputOutput
+    ELynx.Tools.Logger
+    ELynx.Tools.Options
+    ELynx.Tools.Reproduction
+
+  other-modules:    Paths_elynx_tools
+  autogen-modules:  Paths_elynx_tools
+  hs-source-dirs:   src
+  ghc-options:      -Wall -Wunused-packages
   build-depends:
-      aeson
+    , aeson
     , attoparsec
-    , base >=4.7 && <5
+    , base                  >=4.7 && <5
     , base16-bytestring
     , bytestring
     , cryptohash-sha256
     , directory
     , hmatrix
-    , mwc-random
     , optparse-applicative
+    , random
     , template-haskell
     , time
     , transformers
-    , vector
     , zlib
+
   default-language: Haskell2010
diff --git a/src/ELynx/Tools/ByteString.hs b/src/ELynx/Tools/ByteString.hs
--- a/src/ELynx/Tools/ByteString.hs
+++ b/src/ELynx/Tools/ByteString.hs
@@ -1,6 +1,6 @@
 -- |
 -- Module      :  ELynx.Tools.ByteString
--- Copyright   :  (c) Dominik Schrempf 2021
+-- Copyright   :  2021 Dominik Schrempf
 -- License     :  GPL-3.0-or-later
 --
 -- Maintainer  :  dominik.schrempf@gmail.com
diff --git a/src/ELynx/Tools/Definitions.hs b/src/ELynx/Tools/Definitions.hs
--- a/src/ELynx/Tools/Definitions.hs
+++ b/src/ELynx/Tools/Definitions.hs
@@ -1,7 +1,7 @@
 -- |
 -- Module      :  ELynx.Tools.Definitions
 -- Description :  Some global definitions
--- Copyright   :  (c) Dominik Schrempf 2021
+-- Copyright   :  2021 Dominik Schrempf
 -- License     :  GPL-3.0-or-later
 --
 -- Maintainer  :  dominik.schrempf@gmail.com
diff --git a/src/ELynx/Tools/ELynx.hs b/src/ELynx/Tools/ELynx.hs
--- a/src/ELynx/Tools/ELynx.hs
+++ b/src/ELynx/Tools/ELynx.hs
@@ -4,7 +4,7 @@
 -- |
 -- Module      :  ELynx.Tools.ELynx
 -- Description :  The ELynx transformer
--- Copyright   :  (c) 2021 Dominik Schrempf
+-- Copyright   :  2021 Dominik Schrempf
 -- License     :  GPL-3.0-or-later
 --
 -- Maintainer  :  dominik.schrempf@gmail.com
@@ -30,7 +30,7 @@
 import ELynx.Tools.Options
 import ELynx.Tools.Reproduction
 import System.IO
-import System.Random.MWC
+import System.Random.Stateful
 
 -- | ELynx transformer to be used with all executables.
 type ELynx a = ReaderT (Environment a) IO
@@ -38,8 +38,7 @@
 fixSeed :: Reproducible a => a -> IO a
 fixSeed x = case getSeed x of
   (Just RandomUnset) -> do
-    g <- createSystemRandom
-    s <- fromSeed <$> save g
+    s <- uniformM globalStdGen :: IO Int
     return $ setSeed x (RandomSet s)
   _ -> return x
 
@@ -126,6 +125,10 @@
       logInfoS $ "Write " <> name <> " to file '" <> fp <> "'."
       em <- executionMode . globalArguments <$> ask
       liftIO $ writeGZFile em fp res
+
+-- BUG: 'outHandle' is flawed. If '-o BASENAME' is not provided, the output
+-- handle is stdout, but then, when closing the handle, stdout will be closed!
+-- Big Bug.
 
 -- | Get an output handle, does not support compression. The handle has to be
 -- closed after use!
diff --git a/src/ELynx/Tools/Environment.hs b/src/ELynx/Tools/Environment.hs
--- a/src/ELynx/Tools/Environment.hs
+++ b/src/ELynx/Tools/Environment.hs
@@ -1,7 +1,7 @@
 -- |
 -- Module      :  ELynx.Tools.Environment
 -- Description :  Runtime environment
--- Copyright   :  (c) 2021 Dominik Schrempf
+-- Copyright   :  2021 Dominik Schrempf
 -- License     :  GPL-3.0-or-later
 --
 -- Maintainer  :  dominik.schrempf@gmail.com
diff --git a/src/ELynx/Tools/Equality.hs b/src/ELynx/Tools/Equality.hs
--- a/src/ELynx/Tools/Equality.hs
+++ b/src/ELynx/Tools/Equality.hs
@@ -1,6 +1,6 @@
 -- |
 -- Module      :  ELynx.Tools.Equality
--- Copyright   :  (c) Dominik Schrempf 2021
+-- Copyright   :  2021 Dominik Schrempf
 -- License     :  GPL-3.0-or-later
 --
 -- Maintainer  :  dominik.schrempf@gmail.com
diff --git a/src/ELynx/Tools/InputOutput.hs b/src/ELynx/Tools/InputOutput.hs
--- a/src/ELynx/Tools/InputOutput.hs
+++ b/src/ELynx/Tools/InputOutput.hs
@@ -7,7 +7,7 @@
 
 -- |
 -- Module      :  ELynx.Tools.InputOutput
--- Copyright   :  (c) Dominik Schrempf 2021
+-- Copyright   :  2021 Dominik Schrempf
 -- License     :  GPL-3.0-or-later
 --
 -- Maintainer  :  dominik.schrempf@gmail.com
diff --git a/src/ELynx/Tools/Logger.hs b/src/ELynx/Tools/Logger.hs
--- a/src/ELynx/Tools/Logger.hs
+++ b/src/ELynx/Tools/Logger.hs
@@ -8,7 +8,7 @@
 -- |
 -- Module      :  ELynx.Tools.Logger
 -- Description :  Monad logger utility functions
--- Copyright   :  (c) Dominik Schrempf 2021
+-- Copyright   :  2021 Dominik Schrempf
 -- License     :  GPL-3.0-or-later
 --
 -- Maintainer  :  dominik.schrempf@gmail.com
@@ -194,9 +194,9 @@
   as <- liftIO getArgs
   logInfoS $
     intercalate "\n" $
-      hline :
-      ("Command name: " ++ cmdName) :
-      cmdDsc
+      hline
+        : ("Command name: " ++ cmdName)
+        : cmdDsc
         ++ ["Starting time: " ++ t, "Command line: " ++ p ++ " " ++ unwords as]
   logInfoS hline
   where
diff --git a/src/ELynx/Tools/Options.hs b/src/ELynx/Tools/Options.hs
--- a/src/ELynx/Tools/Options.hs
+++ b/src/ELynx/Tools/Options.hs
@@ -5,7 +5,7 @@
 -- |
 -- Module      :  ELynx.Tools.Options
 -- Description :  General ELynx options
--- Copyright   :  (c) 2021 Dominik Schrempf
+-- Copyright   :  2021 Dominik Schrempf
 -- License     :  GPL-3.0-or-later
 --
 -- Maintainer  :  dominik.schrempf@gmail.com
@@ -33,8 +33,6 @@
 
 import Data.Aeson
 import Data.List
-import qualified Data.Vector.Unboxed as VU
-import Data.Word
 import ELynx.Tools.InputOutput
 import ELynx.Tools.Logger
 import ELynx.Tools.Reproduction
@@ -42,23 +40,21 @@
 import Options.Applicative hiding (empty)
 import Options.Applicative.Help.Pretty
 
--- | Seed option for MWC. Defaults to Random.
+-- | Seed option. Defaults to random.
 seedOpt :: Parser SeedOpt
 seedOpt = toSeedOpt <$> seedParser
 
-seedParser :: Parser (Maybe (VU.Vector Word32))
+seedParser :: Parser (Maybe Int)
 seedParser =
-  optional $
-    option
+  optional
+    $ option
       auto
-      ( long "seed" <> short 'S' <> metavar "[INT]"
-          <> help
-            ( "Seed for random number generator; "
-                ++ "list of 32 bit integers with up to 256 elements (default: random)"
-            )
-      )
+    $ long "seed"
+      <> short 'S'
+      <> metavar "INT"
+      <> help ("Seed for random number generator (default: random)")
 
-toSeedOpt :: Maybe (VU.Vector Word32) -> SeedOpt
+toSeedOpt :: Maybe Int -> SeedOpt
 toSeedOpt Nothing = RandomUnset
 toSeedOpt (Just w) = Fixed w
 
@@ -69,7 +65,8 @@
     Fail
     Overwrite
     -- DO NOT CHANGE. This option is used by 'elynx redo'.
-    ( long "force" <> short 'f'
+    ( long "force"
+        <> short 'f'
         <> help
           "Ignore previous analysis and overwrite existing output files."
     )
@@ -92,7 +89,10 @@
 globalArguments :: Parser GlobalArguments
 globalArguments =
   GlobalArguments
-    <$> verbosityOpt <*> optional outFileBaseNameOpt <*> executionModeOpt <*> writeELynxOpt
+    <$> verbosityOpt
+    <*> optional outFileBaseNameOpt
+    <*> executionModeOpt
+    <*> writeELynxOpt
 
 -- Boolean option; be verbose; default NO.
 verbosityOpt :: Parser Verbosity
@@ -113,7 +113,9 @@
 outFileBaseNameOpt :: Parser FilePath
 outFileBaseNameOpt =
   strOption
-    ( long "output-file-basename" <> short 'o' <> metavar "NAME"
+    ( long "output-file-basename"
+        <> short 'o'
+        <> metavar "NAME"
         <> help
           "Specify base name of output file"
     )
diff --git a/src/ELynx/Tools/Reproduction.hs b/src/ELynx/Tools/Reproduction.hs
--- a/src/ELynx/Tools/Reproduction.hs
+++ b/src/ELynx/Tools/Reproduction.hs
@@ -8,7 +8,7 @@
 -- |
 -- Module      :  ELynx.Tools.Reproduction
 -- Description :  Functions to ease reproduction of analyses
--- Copyright   :  (c) Dominik Schrempf 2021
+-- Copyright   :  2021 Dominik Schrempf
 -- License     :  GPL-3.0-or-later
 --
 -- Maintainer  :  dominik.schrempf@gmail.com
@@ -21,6 +21,7 @@
 module ELynx.Tools.Reproduction
   ( -- * Reproduction
     SeedOpt (..),
+    fromSeedOpt,
     Reproducible (..),
     getReproductionHash,
     Reproduction (..),
@@ -34,22 +35,28 @@
 import Data.Aeson hiding (encode)
 import Data.ByteString.Base16
 import qualified Data.ByteString.Char8 as BS
-import qualified Data.Vector.Unboxed as VU
 import Data.Version
-import Data.Word
 import GHC.Generics
 import Options.Applicative
 import Paths_elynx_tools
 import System.Environment
 
+-- TODO: This should be an 'Int' (new interface).
+
 -- | Random or fixed seed.
-data SeedOpt = RandomUnset | RandomSet (VU.Vector Word32) | Fixed (VU.Vector Word32)
+data SeedOpt = RandomUnset | RandomSet Int | Fixed Int
   deriving (Eq, Generic, Show)
 
 instance FromJSON SeedOpt
 
 instance ToJSON SeedOpt
 
+-- | Get the seed, if set.
+fromSeedOpt :: SeedOpt -> Maybe Int
+fromSeedOpt RandomUnset = Nothing
+fromSeedOpt (RandomSet v) = Just v
+fromSeedOpt (Fixed v) = Just v
+
 -- | Reproducible commands have
 --   - a set of input files to be checked for consistency,
 --   - a set of output suffixes which define output files to be checked for consistency,
@@ -77,17 +84,17 @@
         BS.pack $
           unlines $
             -- Reproduction.
-            progName r :
-            argsStr r
-              <> [showVersion (rVersion r)]
-              <> files r
-              <> checkSums r
-              -- Reproducible.
-              <> inFiles ri
-              <> outSuffixes ri
-              <> [cmdName @a]
-              <> cmdDsc @a
-              <> cmdFtr @a
+            progName r
+              : argsStr r
+                <> [showVersion (rVersion r)]
+                <> files r
+                <> checkSums r
+                -- Reproducible.
+                <> inFiles ri
+                <> outSuffixes ri
+                <> [cmdName @a]
+                <> cmdDsc @a
+                <> cmdFtr @a
   where
     ri = reproducible r
 
