diff --git a/requirements-freezed.txt b/requirements-freezed.txt
new file mode 100644
index 0000000000000000000000000000000000000000..8e66aafd9309d5fd25c42e62818b0198c3a2007d
--- /dev/null
+++ b/requirements-freezed.txt
@@ -0,0 +1,206 @@
+aiocronjob==0.2.6
+aiofiles==0.5.0
+aiohttp==3.7.3
+alabaster==0.7.12
+alembic==1.5.4
+amqp==5.0.5
+APScheduler==3.7.0
+async-timeout==3.0.1
+attrs==19.3.0
+Babel==2.9.0
+billiard==3.6.3.0
+blinker==1.4
+Brotli==1.0.9
+celery==5.0.5
+certifi==2020.12.5
+chardet==3.0.4
+cleo==0.8.1
+click==7.1.2
+click-didyoumean==0.0.3
+click-plugins==1.1.1
+click-repl==0.1.6
+clikit==0.6.2
+colorhash==1.0.3
+configparser==5.0.1
+crashtest==0.3.1
+crontab==0.22.9
+cycler==0.10.0
+dash==1.19.0
+dash-bootstrap-components==0.11.3
+dash-colorscales==0.0.4
+dash-core-components==1.15.0
+dash-daq==0.5.0
+dash-extensions==0.0.45
+dash-html-components==1.1.2
+dash-renderer==1.9.0
+dash-table==4.11.2
+decorator==4.4.2
+docutils==0.16
+dominate==2.6.0
+dtale==1.34.0
+et-xmlfile==1.0.1
+fastapi==0.55.1
+fasteners==0.16
+Flask==1.1.2
+Flask-Admin==1.5.7
+Flask-Babel==2.0.0
+Flask-BS4==4.5.3.0
+Flask-Caching==1.9.0
+flask-checkr==0.1.2
+Flask-CKEditor==0.4.4.1
+Flask-Compress==1.8.0
+Flask-Cors==3.0.10
+Flask-DB==0.3.0
+Flask-GraphQL==2.0.1
+flask-healthz==0.0.2
+flask-hintful==0.0.7
+Flask-Login==0.5.0
+Flask-Moment==0.11.0
+Flask-Monitoring==1.1.2
+Flask-Multipass==0.3.3
+flask-ngrok==0.0.25
+Flask-PluginKit==3.6.0
+flask-pwa==0.1.0
+Flask-Redisboard==0.2.0
+Flask-ResponseBuilder==2.0.13
+Flask-SQLAlchemy==2.4.4
+flask-was==0.1.0
+flask-whooshalchemy3==0.2.0
+Flask-WTF==0.14.3
+future==0.18.2
+graphql-core==2.3.2
+graphql-server-core==1.2.0
+h11==0.9.0
+httplib2==0.19.0
+httptools==0.1.1
+idna==2.10
+imagesize==1.2.0
+importlib-metadata==1.3.0
+iniconfig==1.1.1
+itsdangerous==1.1.0
+jdcal==1.4.1
+Jinja2==2.11.3
+joblib==1.0.1
+json2html==1.3.0
+jsonpatch==1.28
+jsonpointer==2.0
+jsonschema==3.2.0
+kaleido==0.1.0
+kiwisolver==1.3.1
+kombu==5.0.2
+llvmlite==0.35.0
+lz4==3.1.3
+Mako==1.1.4
+manual-sitemap==19.6.0
+Markdown==3.3.3
+MarkupSafe==1.1.1
+marshmallow==3.10.0
+matplotlib==3.3.4
+more-itertools==8.0.2
+multidict==5.1.0
+networkx==2.5
+node-semver==0.8.0
+npmdownloader==1.2.1
+numba==0.52.0
+numpy==1.20.1
+openapi-specgen==0.0.6
+openpyxl==3.0.6
+packaging==20.0
+Pallets-Sphinx-Themes==1.2.3
+pandas==1.2.2
+pastel==0.2.1
+patsy==0.5.1
+pbr==3.1.1
+Pillow==8.1.0
+pip-licenses==3.3.0
+#pkg-resources==0.0.0
+plantuml==0.3.0
+plantuml-creator==1.0.7
+plantuml-gentools==0.1.2
+plantuml-markdown==3.4.2
+plantuml-wrapper==0.1.0
+plantuml2freemind==0.8.2
+plotly==4.14.3
+pluggy==0.13.1
+ppscore==1.2.0
+prettytable==2.0.0
+promise==2.3
+prompt-toolkit==3.0.16
+psutil==5.8.0
+psycopg2==2.8.6
+PTable==0.9.2
+py==1.8.1
+py2puml==0.3.1
+pydantic==1.7.3
+pyecharts==1.9.0
+pyecharts-extras==0.0.5
+Pygments==2.7.4
+pylev==1.3.0
+pynndescent==0.5.2
+pyparsing==2.4.6
+pyrsistent==0.17.3
+pytest==5.3.2
+pytest-flask==1.1.0
+python-dateutil==2.8.1
+python-editor==1.0.4
+pytz==2020.5
+PyYAML==5.4.1
+pyzmq==22.0.3
+reactive-pyecharts==1.0.0
+redis==3.5.3
+requests==2.25.1
+retrying==1.3.3
+Rx==1.6.1
+scikit-learn==0.24.1
+scipy==1.6.0
+semver==2.13.0
+simplejson==3.17.2
+six==1.13.0
+snowballstemmer==2.1.0
+Sphinx==3.4.3
+sphinx-issues==1.2.0
+sphinx-tabs==2.0.1
+sphinxcontrib-applehelp==1.0.2
+sphinxcontrib-devhelp==1.0.2
+sphinxcontrib-gravizo==0.0.4
+sphinxcontrib-htmlhelp==1.0.3
+sphinxcontrib-jsmath==1.0.1
+sphinxcontrib-plantuml==0.19
+sphinxcontrib-qthelp==1.0.3
+sphinxcontrib-serializinghtml==1.1.4
+SQLAlchemy==1.3.23
+SQLAlchemy-Utils==0.36.8
+squarify==0.4.3
+starlette==0.13.2
+StatisticalDiagrams==20.5
+statsmodels==0.12.2
+str2bool==1.1
+stringcase==1.2.0
+strsimpy==0.2.0
+test-flask==0.2.0
+threadpoolctl==2.1.0
+tokenize-rt==4.1.0
+toml==0.10.2
+torch==1.7.1
+torchfile==0.1.0
+tornado==6.1
+typing-extensions==3.7.4.3
+tzlocal==2.1
+urllib3==1.26.3
+uvicorn==0.11.8
+uvloop==0.15.0
+vine==5.0.0
+visdom==0.1.8.9
+visitor==0.1.3
+wcwidth==0.1.8
+websocket-client==0.57.0
+websockets==8.1
+Werkzeug==1.0.1
+wget==3.2
+Whoosh==2.7.4
+WTForms==2.3.3
+xarray==0.16.2
+xlrd==2.0.1
+xmltodict==0.12.0
+yarl==1.6.3
+zipp==0.6.0
diff --git a/setup.cfg b/setup.cfg
index c0f346adc94a774f986fde84eaa3c7c138433db3..c74c08c4d4472d9a2c509b02407ebb706992f61c 100644
--- a/setup.cfg
+++ b/setup.cfg
@@ -1,9 +1,10 @@
 [metadata]
-name = covid19python-thomaswoehlke
+name = thomaswoehlke-covid19python
 version = 0.0.16
 url = https://github.com/thomaswoehlke/covid19python.git
 author = Thomas Woehlke
 author_email = thomas.woehlke@gmail.com
+license = GNU General Public License v3 (GPLv3)
 classifiers =
     Development Status :: 3 - Alpha
     Environment :: Web Environment
@@ -15,6 +16,7 @@ classifiers =
     Topic :: Internet :: WWW/HTTP :: Dynamic Content
     Topic :: Internet :: WWW/HTTP :: WSGI
     Topic :: Internet :: WWW/HTTP :: WSGI :: Application
+    "Development Status :: 1 - Planning",
 description = Covid19 Data Aggregation - also a Project to learn Python Flask, SQLAlchemy, Celery et al.
 long_description = file: README.md
 long_description_content_type = text/markdown
@@ -23,5 +25,5 @@ long_description_content_type = text/markdown
 packages = find:
 package_dir = = src
 include_package_data = true
-python_requires = >= 3.7
+python_requires = >= 3.8
 # Dependencies are in setup.py for GitHub's dependency graph.
diff --git a/setup.py b/setup.py
index 369c93dc6f25391e71a649ac9a8f071764bac307..ad6600c4ae02fe11250bbd72e6817a83ff08c7ba 100644
--- a/setup.py
+++ b/setup.py
@@ -1,77 +1,188 @@
+import os
+
 from setuptools import find_packages, setup
 
+readme = open("README.md").read()
+history = open("BACKLOG.md").read()
+
+keywords_list = [
+    "virus",
+    "pandemic",
+    "covid19",
+    "corona",
+    "who",
+    "rki",
+    "ecdc",
+    "deaths",
+    "cases",
+    "vaccination",
+    "data",
+    "statistic",
+    "python",
+    "flask",
+    "celery",
+    "sqlalchemy",
+    "postgresql"
+]
+
+requires_setup = [
+    "setuptools==53.0.0",
+    "pip-licenses==3.3.0",
+    "wheel==0.36.2",
+    "npmdownloader>=1.2.1",
+    "py2puml==0.3.1",
+    "plantuml-creator == 1.0.7",
+    "plantuml-markdown == 3.4.2",
+    "plantuml-wrapper == 0.1.0",
+    "plantuml2freemind == 0.8.2",
+    "plantuml-gentools == 0.1.2",
+    "Flask-PluginKit>=3.6.0",
+    "Flask-ResponseBuilder>=2.0.12",
+    "Flask-Babel>=2"
+]
+
+requires_test = [
+    "test-flask>=0.2.0",
+    "pytest>=6,<7",
+    "pytest-flask>=1.1.0"
+]
+
+requires_docs = [
+    "sphinx==3.4.3",
+    "sphinx-tabs==2.0.1",
+    "sphinx-issues==1.2.0",
+    "pallets-sphinx-themes==1.2.3",
+    "sphinxcontrib-plantuml==0.19",
+    "sphinxcontrib-gravizo==0.0.4"
+]
+
+dotenv_require = [
+    "python-dotenv==0.15.0"
+]
+
+requires_extras = {
+    "docs": requires_docs,
+    "tests": requires_test,
+    "dotenv": dotenv_require,
+    "all": []
+}
+
+requires_install_minimum = [
+    "dash>=1.19.0",
+    "dash-extensions>=0.0.45",
+    "dtale>=1.34.0",
+    "Flask>=1.1.2",
+    "Flask-SQLAlchemy>=2.4.4",
+    "Flask-Cors>=3.0.10",
+    "Flask-BS4==4.5.3.0",
+    "SQLAlchemy>=1.3.23",
+    "psycopg2>=2.8.6",
+    "wget>=3.2",
+    "celery[redis]>=5.0.5",
+]
+
+requires_install_user_security = [
+    "Flask-Multipass>=0.3.3",
+    "Flask-Login<0.6.0,>=0.5.0",
+]
+
+requires_install_operating = [
+    "Flask-Admin>=1.5.7",
+    "Flask-Redisboard>=0.2.0",
+    "Flask-Monitoring>=1.1.2",
+    "flask-healthz>=0.0.2",
+    "aiocronjob>=0.2.0",
+    "Flask-Caching>=1.9.0"
+]
+
+requires_install_nore_flask = [
+    "manual-sitemap>=19.6.0",
+    "Flask-DB>=0.3.0",
+    "flask-pwa>=0.1.0",
+    "Flask-Moment>=0.11.0",
+    "Flask-CKEditor>=0.4.4.1",
+    "flask-checkr>=0.1.2",
+    "flask-whooshalchemy3>=0.2.0",
+    "flask-was>=0.1.0",
+    "Flask-GraphQL>=2.0.1",
+    "flask-hintful>=0.0.7",
+]
+
+require_install_data_processing = [
+    "pyecharts>=1.9.0",
+    "pyecharts-extras>=0.0.5",
+    "reactive-pyecharts>=1.0.0",
+    "visdom>=0.1.8.9",
+    "tokenize-rt>=4.1.0",
+    "pynndescent>=0.5.1",
+    "torch>=1.7.1",
+    "numpy>=1.20.1",
+    "pandas>=1.1.0",
+    "scipy>=1.5.0",
+    "StatisticalDiagrams>=20.5",
+]
+
+requires_install = {
+    "requires_install_minimum": requires_install_minimum,
+    "requires_install_user_security": requires_install_user_security,
+    "requires_install_operating": requires_install_operating,
+    "requires_install_nore_flask": requires_install_nore_flask,
+    "require_install_data_processing": require_install_data_processing,
+    "all": []
+}
+
+for reqs in requires_extras.values():
+    requires_extras["all"].extend(reqs)
+
+for reqs in requires_install.values():
+    requires_install["all"].extend(reqs)
+
+keywords = ""
+for kw in keywords_list:
+    keywords += " " + kw
+
+packages = find_packages()
+
+# Get the version string. Cannot be done with import!
+g = {}
+with open(os.path.join("flask_resources", "version.py"), "rt") as fp:
+    exec(fp.read(), g)
+    version = g["__version__"]
+
 setup(
-    name='covid19python-thomaswoehlke',
-    version='0.0.16',
-    packages=find_packages(),
+    name='thomaswoehlke-covid19python',
+    version=version,
     url='ttps://github.com/thomaswoehlke/covid19python.git',
-    license='GNU General Public License v3.0',
+    license='GNU General Public License v3 (GPLv3)',
     author='Thomas Woehlke',
     author_email='thomas.woehlke@gmail.com',
     description='Covid19 Data Aggregation - also a Project to learn Python Flask, SQLAlchemy, Celery et al.',
-    install_requires=[
-        "setuptools==53.0.0",
-        "pip==21.0.1",
-        "pip-licenses==3.3.0",
-        "wheel==0.36.2",
-        "dash>=1.19.0",
-        "dash-extensions>=0.0.45",
-        "dtale>=1.34.0",
-        "wget>=3.2",
-        "celery[redis]>=5.0.5",
-        "Flask>=1.1.2",
-        "Flask-SQLAlchemy>=2.4.4",
-        "Flask-Multipass>=0.3.3",
-        "Flask-Cors>=3.0.10",
-        "Flask-BS4==4.5.3.0",
-        "SQLAlchemy>=1.3.23",
-        "psycopg2>=2.8.6",
-        "test-flask>=0.2.0",
-        "pytest-flask>=1.1.0",
-        "Flask-Admin>=1.5.7",
-        "Flask-Redisboard>=0.2.0",
-        "Flask-Monitoring>=1.1.2",
-        "flask-healthz>=0.0.2",
-        "Flask-DB>=0.3.0",
-        "flask-pwa>=0.1.0",
-        "Flask-Moment>=0.11.0",
-        "Flask-CKEditor>=0.4.4.1",
-        "flask-checkr>=0.1.2",
-        "flask-whooshalchemy3>=0.2.0",
-        "Flask-PluginKit>=3.6.0",
-        "Flask-ResponseBuilder>=2.0.12",
-        "flask-was>=0.1.0",
-        "Flask-GraphQL>=2.0.1",
-        "flask-hintful>=0.0.7",
-        "Flask-Caching>=1.9.0",
-        "Flask-Babel>=2",
-        "Flask-Login<0.6.0,>=0.5.0",
-        "manual-sitemap>=19.6.0",
-        "aiocronjob>=0.2.0",
-        "npmdownloader>=1.2.1",
-        "pyecharts>=1.9.0",
-        "pyecharts-extras>=0.0.5",
-        "reactive-pyecharts>=1.0.0",
-        "visdom>=0.1.8.9",
-        "tokenize-rt>=4.1.0",
-        "pynndescent>=0.5.1",
-        "torch>=1.7.1",
-        "numpy>=1.20.1",
-        "pandas>=1.1.0",
-        "scipy>=1.5.0",
-        "StatisticalDiagrams>=20.5",
-        "sphinx==3.4.3",
-        "sphinx-tabs==2.0.1",
-        "sphinx-issues==1.2.0",
-        "pallets-sphinx-themes==1.2.3",
-        "sphinxcontrib-plantuml==0.19",
-        "sphinxcontrib-gravizo==0.0.4",
-        "py2puml==0.3.1",
-        "plantuml-creator==1.0.7",
-        "plantuml-markdown==3.4.2",
-        "plantuml-wrapper==0.1.0",
-        "plantuml2freemind==0.8.2",
-        "plantuml-gentools==0.1.2"
+    classifiers=[
+        "Environment :: Web Environment",
+        "Intended Audience :: Developers",
+        "License :: OSI Approved :: GNU General Public License v3 (GPLv3)",
+        "Operating System :: POSIX :: Linux",
+        "Programming Language :: Python",
+        "Programming Language :: Python :: 3",
+        "Programming Language :: Python :: 3.8",
+        "Development Status :: 3 - Alpha",
+        "Natural Language :: German",
+        "Natural Language :: English",
+        "Topic :: Internet :: WWW/HTTP :: Dynamic Content",
+        "Topic :: Internet :: WWW/HTTP :: WSGI :: Application",
+        "Topic :: Internet :: WWW/HTTP :: WSGI :: Middleware",
+        "Topic :: Software Development :: Libraries :: Python Modules",
     ],
-    extras_require={"dotenv": ["python-dotenv"]},
+    long_description=readme + "\n\n" + history,
+    long_description_content_type="text/markdown",
+    keywords=keywords,
+    packages=packages,
+    zip_safe=False,
+    include_package_data=True,
+    entry_points={},
+    extras_require=requires_extras,
+    install_requires=requires_install,
+    setup_requires=requires_setup,
+    tests_require=requires_test,
+    python_requires=">= 3.8"
 )