diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -31,7 +31,7 @@
 
 ```yaml
 dependencies:
-- owoify-hs == 1.0.0.1
+- owoify-hs == 1.1.0.0
 ```
 
 If you are using Cabal, add the package the usual way.
@@ -93,7 +93,7 @@
 
 MIT License
 
-Copyright (c) 2021 Chehui Chou
+Copyright (c) 2023 Chehui Chou
 
 Permission is hereby granted, free of charge, to any person obtaining a copy
 of this software and associated documentation files (the "Software"), to deal
diff --git a/owoify-hs.cabal b/owoify-hs.cabal
--- a/owoify-hs.cabal
+++ b/owoify-hs.cabal
@@ -1,9 +1,9 @@
 cabal-version:      1.12
 name:               owoify-hs
-version:            1.0.0.1
+version:            1.1.0.0
 license:            MIT
 license-file:       LICENSE
-copyright:          2021 Chehui Chou
+copyright:          2023 Chehui Chou
 maintainer:         tetsuki.syu1315@gmail.com
 author:             Chehui Chou
 homepage:           https://github.com/deadshot465/owoify-hs#readme
@@ -37,9 +37,9 @@
     build-depends:
         base >=4.7 && <5,
         random >=1.2.0 && <1.3,
-        regex ==1.1.0.0,
-        regex-with-pcre ==1.1.0.0,
-        text >=1.2.4 && <1.3
+        regex ==1.1.0.2,
+        regex-with-pcre ==1.1.0.2,
+        text >=2.0.2 && <2.1
 
 test-suite owoify-hs-test
     type:             exitcode-stdio-1.0
@@ -51,8 +51,8 @@
     build-depends:
         HUnit >=1.6.2.0 && <1.7,
         base >=4.7 && <5,
-        owoify-hs -any,
+        owoify-hs,
         random >=1.2.0 && <1.3,
-        regex ==1.1.0.0,
-        regex-with-pcre ==1.1.0.0,
-        text >=1.2.4 && <1.3
+        regex ==1.1.0.2,
+        regex-with-pcre ==1.1.0.2,
+        text >=2.0.2 && <2.1
diff --git a/src/Data/Owoify/Internal/Data/Mappings.hs b/src/Data/Owoify/Internal/Data/Mappings.hs
--- a/src/Data/Owoify/Internal/Data/Mappings.hs
+++ b/src/Data/Owoify/Internal/Data/Mappings.hs
@@ -14,6 +14,8 @@
   , mapMeToMwe
   , mapMomToMwom
   , mapNrToNw
+  , mapMemToMwem
+  , unmapNywoToNyo
   , mapNVowelTToNd
   , mapNVowelToNy
   , mapOldToOwld
@@ -39,6 +41,14 @@
   , mapVowelOrRExceptOLToWl
   , mapWorseToWose
   , mapYouToU
+  , mapGreatToGwate
+  , mapAviatToAwiat
+  , mapDedicatToDeditat
+  , mapRememberToRember
+  , mapWhenToWen
+  , mapFrightenedToFrigten
+  , mapMemeToMem
+  , mapFeelToFell
   )
   where
 
@@ -186,17 +196,29 @@
 nrToNwUpper = compileDefaultOptionRegex "NR"
 
 nrToNwLower :: IO RE
-nrToNwLower = compileDefaultOptionRegex "nr"
+nrToNwLower = compileDefaultOptionRegex "([Nn])r"
 
+memToMwemUpper :: IO RE
+memToMwemUpper = compileDefaultOptionRegex "Mem"
+
+memToMwemLower :: IO RE
+memToMwemLower = compileDefaultOptionRegex "mem"
+
+nywoToNyo :: IO RE
+nywoToNyo = compileDefaultOptionRegex "([Nn])ywo"
+
 funcToFwuc :: IO RE
 funcToFwuc = compileDefaultOptionRegex "([Ff])uc"
 
 momToMwom :: IO RE
 momToMwom = compileDefaultOptionRegex "([Mm])om"
 
-meToMwe :: IO RE
-meToMwe = compileDefaultOptionRegex "([Mm])e"
+meToMweUpper :: IO RE
+meToMweUpper = compileDefaultOptionRegex "^Me$"
 
+meToMweLower :: IO RE
+meToMweLower = compileDefaultOptionRegex "^me$"
+
 nVowelToNyFirst :: IO RE
 nVowelToNyFirst = compileDefaultOptionRegex "n([aeiou])"
 
@@ -233,6 +255,33 @@
 worseToWose :: IO RE
 worseToWose = compileDefaultOptionRegex "([Ww])orse"
 
+greatToGwate :: IO RE
+greatToGwate = compileDefaultOptionRegex "([Gg])reat"
+
+aviatToAwiat :: IO RE
+aviatToAwiat = compileDefaultOptionRegex "([Aa])viat"
+
+dedicatToDeditat :: IO RE
+dedicatToDeditat = compileDefaultOptionRegex "([Dd])edicat"
+
+rememberToRember :: IO RE
+rememberToRember = compileDefaultOptionRegex "([Rr])emember"
+
+whenToWen :: IO RE
+whenToWen = compileDefaultOptionRegex "([Ww])hen"
+
+frightenedToFrigten :: IO RE
+frightenedToFrigten = compileDefaultOptionRegex "([Ff])righten(ed)*"
+
+memeToMemFirst :: IO RE
+memeToMemFirst = compileDefaultOptionRegex "Meme"
+
+memeToMemSecond :: IO RE
+memeToMemSecond = compileDefaultOptionRegex "Mem"
+
+feelToFell :: IO RE
+feelToFell = compileDefaultOptionRegex "^([Ff])eel$"
+
 faces :: [Text]
 faces = pack <$>
   [ "(・`ω´・)"
@@ -397,9 +446,17 @@
 
 mapNrToNw :: InnerWord -> IO InnerWord
 mapNrToNw word = do
-  w <- nrToNwLower >>= \re -> pure $ innerReplace word re (pack "nw") False
+  w <- nrToNwLower >>= \re -> pure $ innerReplace word re (pack "$1w") False
   nrToNwUpper >>= \re -> pure $ innerReplace w re (pack "NW") False
 
+mapMemToMwem :: InnerWord -> IO InnerWord
+mapMemToMwem word = do
+    w <- memToMwemUpper >>= \re -> pure $ innerReplace word re (pack "mwem") False
+    memToMwemLower >>= \re -> pure $ innerReplace w re (pack "Mwem") False
+
+unmapNywoToNyo :: InnerWord -> IO InnerWord
+unmapNywoToNyo word = nywoToNyo >>= \re -> pure $ innerReplace word re (pack "$1yo") False
+
 mapFucToFwuc :: InnerWord -> IO InnerWord
 mapFucToFwuc word = funcToFwuc >>= \re -> pure $ innerReplace word re (pack "$1wuc") False
 
@@ -407,7 +464,9 @@
 mapMomToMwom word = momToMwom >>= \re -> pure $ innerReplace word re (pack "$1wom") False
 
 mapMeToMwe :: InnerWord -> IO InnerWord
-mapMeToMwe word = meToMwe >>= \re -> pure $ innerReplace word re (pack "$1we") False
+mapMeToMwe word = do
+    w <- meToMweUpper >>= \re -> pure $ innerReplace word re (pack "Mwe") False
+    meToMweLower >>= \re -> pure $ innerReplace word re (pack "mwe") False
 
 mapNVowelToNy :: InnerWord -> IO InnerWord
 mapNVowelToNy word = do
@@ -439,3 +498,29 @@
 
 mapWorseToWose :: InnerWord -> IO InnerWord
 mapWorseToWose word = worseToWose >>= \re -> pure $ innerReplace word re (pack "$1ose") False
+
+mapGreatToGwate :: InnerWord -> IO InnerWord
+mapGreatToGwate word = greatToGwate >>= \re -> pure $ innerReplace word re (pack "$1wate") False
+
+mapAviatToAwiat :: InnerWord -> IO InnerWord
+mapAviatToAwiat word = aviatToAwiat >>= \re -> pure $ innerReplace word re (pack "$1wiat") False
+
+mapDedicatToDeditat :: InnerWord -> IO InnerWord
+mapDedicatToDeditat word = dedicatToDeditat >>= \re -> pure $ innerReplace word re (pack "$1editat") False
+
+mapRememberToRember :: InnerWord -> IO InnerWord
+mapRememberToRember word = rememberToRember >>= \re -> pure $ innerReplace word re (pack "$1ember") False
+
+mapWhenToWen :: InnerWord -> IO InnerWord
+mapWhenToWen word = whenToWen >>= \re -> pure $ innerReplace word re (pack "$1en") False
+
+mapFrightenedToFrigten :: InnerWord -> IO InnerWord
+mapFrightenedToFrigten word = frightenedToFrigten >>= \re -> pure $ innerReplace word re (pack "$1rigten") False
+
+mapMemeToMem :: InnerWord -> IO InnerWord
+mapMemeToMem word = do
+    w <- memeToMemFirst >>= \re -> pure $ innerReplace word re (pack "mem") False
+    memeToMemSecond >>= \re -> pure $ innerReplace w re (pack "Mem") False
+
+mapFeelToFell :: InnerWord -> IO InnerWord
+mapFeelToFell word = feelToFell >>= \re -> pure $ innerReplace word re (pack "$1ell") False
diff --git a/src/Data/Owoify/Internal/Data/Presets.hs b/src/Data/Owoify/Internal/Data/Presets.hs
--- a/src/Data/Owoify/Internal/Data/Presets.hs
+++ b/src/Data/Owoify/Internal/Data/Presets.hs
@@ -9,7 +9,6 @@
   , Mappings.mapMomToMwom
   , Mappings.mapTimeToTim
   , Mappings.mapMeToMwe
-  , Mappings.mapNVowelToNy
   , Mappings.mapOverToOwor
   , Mappings.mapOveToUv
   , Mappings.mapHahaToHeheXd
@@ -17,6 +16,14 @@
   , Mappings.mapYouToU
   , Mappings.mapReadToWead
   , Mappings.mapWorseToWose
+  , Mappings.mapGreatToGwate
+  , Mappings.mapAviatToAwiat
+  , Mappings.mapDedicatToDeditat
+  , Mappings.mapRememberToRember
+  , Mappings.mapWhenToWen
+  , Mappings.mapFrightenedToFrigten
+  , Mappings.mapMemeToMem
+  , Mappings.mapFeelToFell
   ]
 
 uvuMappingList :: [InnerWord -> IO InnerWord]
@@ -42,7 +49,8 @@
 
 owoMappingList :: [InnerWord -> IO InnerWord]
 owoMappingList =
-  [ Mappings.mapLlToWw
+  [ Mappings.mapNVowelToNy
+  , Mappings.mapLlToWw
   , Mappings.mapVowelOrRExceptOLToWl
   , Mappings.mapOldToOwld
   , Mappings.mapOlToOwl
@@ -57,4 +65,6 @@
   , Mappings.mapLyToWy
   , Mappings.mapPleToPwe
   , Mappings.mapNrToNw
+  , Mappings.mapMemToMwem
+  , Mappings.unmapNywoToNyo
   ]
diff --git a/src/Data/Owoify/Owoify.hs b/src/Data/Owoify/Owoify.hs
--- a/src/Data/Owoify/Owoify.hs
+++ b/src/Data/Owoify/Owoify.hs
@@ -1,5 +1,7 @@
 module Data.Owoify.Owoify
   ( owoify
+  , uwuify
+  , uvuify
   , OwoifyLevel(..)
   )
   where
@@ -51,3 +53,21 @@
       wordsList <- sequence transformedWords <&> fmap toText
       let interleaved = reverse $ interleave wordsList s
       pure $ intercalate (pack "") interleaved
+
+-- | Owoify source text using Uwu owoness level and turn text into nonsensical babyspeaks.
+--
+-- Examples:
+--
+-- >>> uwuify (Data.Text.Lazy.pack "Hello World!")
+-- NOW "Hewwo WowwdUvU"
+uwuify :: Text -> IO Text
+uwuify source = owoify source Uwu
+
+-- | Owoify source text using Uwu owoness level and turn text into nonsensical babyspeaks.
+--
+-- Examples:
+--
+-- >>> uvuify (Data.Text.Lazy.pack "Hello World!")
+-- "Hewwowo Wowwd>w<"
+uvuify :: Text -> IO Text
+uvuify source = owoify source Uvu
