diff --git a/badges/docstring_coverage.svg b/badges/docstring_coverage.svg
index bb83422617c573dda55319b7fadb4a026c5677b7..836e4960ec38bd920d07d1f7c9ac54041161769c 100644
--- a/badges/docstring_coverage.svg
+++ b/badges/docstring_coverage.svg
@@ -14,7 +14,7 @@
     <g fill="#fff" text-anchor="middle" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" font-size="110">
         <text x="505" y="150" fill="#010101" fill-opacity=".3" transform="scale(.1)" textLength="890">docstr-coverage</text>
         <text x="505" y="140" transform="scale(.1)" textLength="890">docstr-coverage</text>
-        <text x="1195" y="150" fill="#010101" fill-opacity=".3" transform="scale(.1)">98%</text>
-        <text x="1195" y="140" transform="scale(.1)">98%</text>
+        <text x="1195" y="150" fill="#010101" fill-opacity=".3" transform="scale(.1)">96%</text>
+        <text x="1195" y="140" transform="scale(.1)">96%</text>
     </g>
 </svg>
\ No newline at end of file
diff --git a/badges/test_coverage.svg b/badges/test_coverage.svg
index 6d24dca8738847c2291086179b7c665c9c40a78c..f5af1dbeee2cacec20e9e6d0fbc93e757733fa2f 100644
--- a/badges/test_coverage.svg
+++ b/badges/test_coverage.svg
@@ -15,7 +15,7 @@
     <g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="11">
         <text x="31.5" y="15" fill="#010101" fill-opacity=".3">coverage</text>
         <text x="31.5" y="14">coverage</text>
-        <text x="80" y="15" fill="#010101" fill-opacity=".3">73%</text>
-        <text x="80" y="14">73%</text>
+        <text x="80" y="15" fill="#010101" fill-opacity=".3">72%</text>
+        <text x="80" y="14">72%</text>
     </g>
 </svg>
diff --git a/generate_reports.sh b/generate_reports.sh
old mode 100644
new mode 100755
index e60f4cf84c31b0e20e9edb191abb020dd23b33f8..627b6867ae3171764a04f4a8aff65494619eada3
--- a/generate_reports.sh
+++ b/generate_reports.sh
@@ -1,22 +1,44 @@
 #!/bin/bash
 
-ding={realpath binarycpython}
-echo $ding
-## Script to generate the docstring coverage
-
-
-
-
-# docstr-coverage binarycpython --exclude="/home/david/projects/binary_c_root/binarycpython_dev/binary_c-python/binarycpython/tests/*" -v 3 --badge reports/docstring_coverage/docstring_coverage.svg > reports/docstring_coverage/docstring_coverage.txt 2>&1
-
-# # Go down to the dir
-# cd reports/test_coverage && coverage run --source=binarycpython ../../binary_c-python/binarycpython/tests/main.py && coverage-badge > test_coverage.svg
-# cd ../../
-
-# # Copy docstring coverage
-# cp reports/docstring_coverage/docstring_coverage.svg binary_c-python/badges/docstring_coverage.svg
-# cp reports/docstring_coverage/docstring_coverage.svg binary_c-python/docs/source/badges/docstring_coverage.svg
-
-# # Copy test coverage
-# cp reports/test_coverage/coverage.svg binary_c-python/badges/test_coverage.svg
-# cp reports/test_coverage/coverage.svg binary_c-python/docs/source/badges/test_coverage.svg
+# Script to generate the docstring coverage
+NAME_CURRENT_FILE="`realpath \"$0\"`"
+DIRNAME_CURRENT_FILE=$(dirname $NAME_CURRENT_FILE)
+TESTS_DIR="$DIRNAME_CURRENT_FILE/binarycpython/tests"
+REPORTS_DIR="$DIRNAME_CURRENT_FILE/reports"
+BADGE_DIR="$DIRNAME_CURRENT_FILE/badges"
+
+#
+# echo "$NAME_CURRENT_FILE"
+# echo "$DIRNAME_CURRENT_FILE"
+# echo "$TESTS_DIR"
+# echo "$REPORTS_DIR"
+# echo "$BADGE_DIR"
+
+# Create main reports directory
+mkdir -p "$REPORTS_DIR"
+
+## Docstring coverage:
+command -v docstr-coverage >/dev/null 2>&1 || { echo >&2 "docstr-coverage is not installed.  Aborting."; exit 1; }
+
+#
+echo "Generating docstring report"
+DOCSTRING_COV_DIR="$REPORTS_DIR/docstring_coverage"
+mkdir -p "$DOCSTRING_COV_DIR/"
+docstr-coverage binarycpython --exclude="$TESTS_DIR/*" -v 3 --badge "$DOCSTRING_COV_DIR/docstring_coverage.svg" > "$DOCSTRING_COV_DIR/docstring_coverage.txt" 2>&1
+cp "$DOCSTRING_COV_DIR/docstring_coverage.svg" "$BADGE_DIR/docstring_coverage.svg"
+echo "Done"
+
+## test coverage
+command -v coverage >/dev/null 2>&1 || { echo >&2 "coverage is not installed. Aborting."; exit 1; }
+command -v coverage-badge >/dev/null 2>&1 || { echo >&2 "coverage-badge is not installed. Aborting."; exit 1; }
+
+echo "Generating test coverage html report"
+TEST_COV_DIR="$REPORTS_DIR/test_coverage"
+mkdir -p "$TEST_COV_DIR/"
+cd $TEST_COV_DIR
+coverage run --source=binarycpython "$TESTS_DIR/main.py"
+coverage html
+coverage-badge > "$TEST_COV_DIR/test_coverage.svg"
+cd $DIRNAME_CURRENT_FILE
+cp "$TEST_COV_DIR/test_coverage.svg" "$BADGE_DIR/test_coverage.svg"
+echo "Done"
\ No newline at end of file