diff --git a/CHANGELOG.md b/CHANGELOG.md
index fa7c3f15b7297fb394e9f26915f52e028a20d7f5..463c93221d45de08b024a98618c46dafbb9c6ee5 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,8 +1,14 @@
 # Python Buildpack Changelog
 
+# 112
+
+Bugfix.
+
+- Fixed grep output bug.
+
 # 111
 
-Linting , bugfixes.
+Linting, bugfixes.
 
 # 110
 
diff --git a/bin/compile b/bin/compile
index ad0ac09f2d1ea17cb684db17a85af1f4cf9f4d61..c2885214d3a622fcb8e1974bf5c78398cc012489 100755
--- a/bin/compile
+++ b/bin/compile
@@ -182,7 +182,7 @@ source "$BIN_DIR/steps/cryptography"
 
 # Support for Geo libraries.
 # shellcheck source=bin/steps/geo-libs
-sub-env "$BIN_DIR/steps/geo-libs"
+sub_env "$BIN_DIR/steps/geo-libs"
 
 # GDAL support.
 # shellcheck source=bin/steps/gdal
@@ -202,7 +202,7 @@ mtime "pip.install.time" "${start}"
 
 # Support for NLTK corpora.
 let start=$(nowms)
-sub-env "$BIN_DIR/steps/nltk"
+sub_env "$BIN_DIR/steps/nltk"
 mtime "nltk.download.time" "${start}"
 
 # Support for pip install -e.
@@ -215,20 +215,20 @@ fi
 
 # Django collectstatic support.
 let start=$(nowms)
-sub-env "$BIN_DIR/steps/collectstatic"
+sub_env "$BIN_DIR/steps/collectstatic"
 mtime "collectstatic.time" "${start}"
 
 # Create .profile script for application runtime environment variables.
-set-env PATH "\$HOME/.heroku/python/bin:\$PATH"
-set-env PYTHONUNBUFFERED true
-set-env PYTHONHOME /app/.heroku/python
+set_env PATH "\$HOME/.heroku/python/bin:\$PATH"
+set_env PYTHONUNBUFFERED true
+set_env PYTHONHOME /app/.heroku/python
 
-set-env LIBRARY_PATH "/app/.heroku/vendor/lib:/app/.heroku/python/lib:\$LIBRARY_PATH"
-set-env LD_LIBRARY_PATH "/app/.heroku/vendor/lib:/app/.heroku/python/lib:\$LD_LIBRARY_PATH"
+set_env LIBRARY_PATH "/app/.heroku/vendor/lib:/app/.heroku/python/lib:\$LIBRARY_PATH"
+set_env LD_LIBRARY_PATH "/app/.heroku/vendor/lib:/app/.heroku/python/lib:\$LD_LIBRARY_PATH"
 
-set-default-env LANG en_US.UTF-8
-set-default-env PYTHONHASHSEED random
-set-default-env PYTHONPATH /app/
+set_default_env LANG en_US.UTF-8
+set_default_env PYTHONHASHSEED random
+set_default_env PYTHONPATH /app/
 
 # Install sane-default script for $WEB_CONCURRENCY and $FORWARDED_ALLOW_IPS.
 cp "$ROOT_DIR/vendor/WEB_CONCURRENCY.sh" "$WEB_CONCURRENCY_PROFILE_PATH"
diff --git a/bin/steps/hooks/post_compile b/bin/steps/hooks/post_compile
index e4afc09e98b788c7d4cb980676a3f1f407cbeae4..014f791c21f29a9cdbf0b69160769cb69e9c1bba 100755
--- a/bin/steps/hooks/post_compile
+++ b/bin/steps/hooks/post_compile
@@ -3,5 +3,5 @@
 if [ -f bin/post_compile ]; then
     echo "-----> Running post-compile hook"
     chmod +x bin/post_compile
-    sub-env bin/post_compile
+    sub_env bin/post_compile
 fi
\ No newline at end of file
diff --git a/bin/steps/hooks/pre_compile b/bin/steps/hooks/pre_compile
index 86c706b6574e1dbf63f99bc8ff838d80a4653b61..af788d9acc0bde28fcbaea7d12c71228b3315bcd 100755
--- a/bin/steps/hooks/pre_compile
+++ b/bin/steps/hooks/pre_compile
@@ -3,5 +3,5 @@
 if [ -f bin/pre_compile ]; then
     echo "-----> Running pre-compile hook"
     chmod +x bin/pre_compile
-    sub-env bin/pre_compile
+    sub_env bin/pre_compile
 fi
\ No newline at end of file
diff --git a/bin/steps/nltk b/bin/steps/nltk
index f1557fdca39db8df3f2e456f3bde1506944490ad..92f3fff7884feb00cc3010669b241db6dcae068b 100755
--- a/bin/steps/nltk
+++ b/bin/steps/nltk
@@ -25,7 +25,7 @@ if sp-grep -s nltk; then
         puts-step "Downloading NLTK packages: $nltk_packages"
 
         python -m nltk.downloader -d "$BUILD_DIR/.heroku/python/nltk_data" "$nltk_packages"  | indent
-        set-env NLTK_DATA "/app/.heroku/python/nltk_data"
+        set_env NLTK_DATA "/app/.heroku/python/nltk_data"
 
     else
         puts-warn "'nltk.txt' not found, not downloading any corpora"
diff --git a/bin/steps/pip-install b/bin/steps/pip-install
index d0941f2a7f85bb1ec8368967c784050e6a121c96..c60d52435638962ffcbe1b82de7f2f9467084670 100755
--- a/bin/steps/pip-install
+++ b/bin/steps/pip-install
@@ -6,7 +6,7 @@ if [ ! "$SKIP_PIP_INSTALL" ]; then
     puts-step "Installing requirements with pip"
 
     set +e
-    sub-env /app/.heroku/python/bin/pip install -r "$BUILD_DIR/requirements.txt" --exists-action=w --src=/app/.heroku/src --disable-pip-version-check --no-cache-dir 2>&1 | tee "$WARNINGS_LOG" | cleanup | indent
+    sub_env /app/.heroku/python/bin/pip install -r "$BUILD_DIR/requirements.txt" --exists-action=w --src=/app/.heroku/src --disable-pip-version-check --no-cache-dir 2>&1 | tee "$WARNINGS_LOG" | cleanup | indent
     PIP_STATUS="${PIPESTATUS[0]}"
     set -e
 
diff --git a/bin/utils b/bin/utils
index 4a06a4697a61ad4b71ab7e223c77f6120be628cb..b748bbea9822a6303e6c86cf217a82551c1029f4 100755
--- a/bin/utils
+++ b/bin/utils
@@ -4,7 +4,7 @@ shopt -s nullglob
 
 # The standard library.
 if [[ ! -f  /tmp/stdlib.sh ]]; then
-  curl --retry 3 -s https://lang-common.s3.amazonaws.com/buildpack-stdlib/v2/stdlib.sh > /tmp/stdlib.sh
+  curl --retry 3 -s https://lang-common.s3.amazonaws.com/buildpack-stdlib/v8/stdlib.sh > /tmp/stdlib.sh
 fi
 # shellcheck source=/dev/null
 source /tmp/stdlib.sh
@@ -53,30 +53,6 @@ deep-cp() {
 }
 
 
-sub-env() {
-
-  WHITELIST=${2:-''}
-  BLACKLIST=${3:-'^(GIT_DIR|STACK|PYTHONHOME|LD_LIBRARY_PATH|LIBRARY_PATH|PATH)$'}
-
-  # Python-specific variables.
-  export PYHONHOME=$BUILD_DIR/.heroku/python
-  export PYTHONPATH=$BUILD_DIR/
-
-  (
-    if [ -d "$ENV_DIR" ]; then
-      # shellcheck disable=SC2045
-      for e in $(ls "$ENV_DIR"); do
-        echo "$e" | grep -E "$WHITELIST" | grep -qvE "$BLACKLIST" &&
-        export "$e=$(cat "$ENV_DIR/$e")"
-        :
-      done
-    fi
-
-    "$@"
-
-  )
-}
-
 # Measure the size of the Python installation.
 measure-size() {
   echo "$(du -s .heroku/python 2>/dev/null || echo 0) | awk '{print $1}')"