diff --git a/cookiecutter.json b/cookiecutter.json
index 1e7eaabe004b6bc345396e16ca852fc9eaa61d35..99dd141772a67c297a2e0400d65db0a1342430df 100644
--- a/cookiecutter.json
+++ b/cookiecutter.json
@@ -1,6 +1,5 @@
 {
     "repo_name": "repo_name",
-    "project_name": "project_name",
     "author_name": "Manu Musterperson",
-    "first_subpkg": "sub_package"
+    "module_name": "module_name",
 }
\ No newline at end of file
diff --git a/hooks/pre_gen_project.py b/hooks/pre_gen_project.py
new file mode 100644
index 0000000000000000000000000000000000000000..5a9c812fed11349e99decebc9b4467ede17b731d
--- /dev/null
+++ b/hooks/pre_gen_project.py
@@ -0,0 +1,15 @@
+import re
+import sys
+
+
+MODULE_REGEX = r"^[_a-zA-Z][_a-zA-Z0-9]+$"
+
+module_name = "{{ cookiecutter.module_name}}"
+
+if not re.match(MODULE_REGEX, module_name):
+    print(
+        "ERROR: The project slug (%s) is not a valid Python module name. "
+        "Please do not use a - and use _ instead" % module_name
+    )
+    # Exit to cancel project
+    sys.exit(1)
diff --git a/{{cookiecutter.repo_name}}/src/{{cookiecutter.project_name}}/{{cookiecutter.first_subpkg}}/__init__.py b/{{cookiecutter.repo_name}}/src/{{cookiecutter.module_name}}/__init__.py
similarity index 100%
rename from {{cookiecutter.repo_name}}/src/{{cookiecutter.project_name}}/{{cookiecutter.first_subpkg}}/__init__.py
rename to {{cookiecutter.repo_name}}/src/{{cookiecutter.module_name}}/__init__.py
diff --git a/{{cookiecutter.repo_name}}/src/{{cookiecutter.project_name}}/{{cookiecutter.first_subpkg}}/main.py b/{{cookiecutter.repo_name}}/src/{{cookiecutter.module_name}}/main.py
similarity index 100%
rename from {{cookiecutter.repo_name}}/src/{{cookiecutter.project_name}}/{{cookiecutter.first_subpkg}}/main.py
rename to {{cookiecutter.repo_name}}/src/{{cookiecutter.module_name}}/main.py