diff --git a/.gitattributes b/.gitattributes
new file mode 100644
index 0000000..eddf983
--- /dev/null
+++ b/.gitattributes
@@ -0,0 +1,4 @@
+.gitignore                          export-ignore
+.gitattributes                      export-ignore
+icingaexchange.yml                  export-ignore
+icingaweb2-module-pnp4nagios.zip    export-ignore
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..3c7c586
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,7 @@
+## editors
+.*.sw[op]
+.idea/
+*~
+
+## vendor stuff
+/vendor/
diff --git a/README.md b/README.md
index a50f902..ecf590c 100644
--- a/README.md
+++ b/README.md
@@ -1,30 +1,136 @@
-PNP module for Icinga Web 2
-===========================
+# PNP module for Icinga Web 2
 
-General Information
--------------------
+#### Table of Contents
 
-PNP is an addon to Icinga  which analyzes performance data provided by plugins
-and stores them automatically into RRD-databases.
+1. [About](#about)
+2. [License](#license)
+3. [Support](#support)
+4. [Requirements](#requirements)
+5. [Installation](#installation)
+6. [Configuration](#configuration)
+7. [FAQ](#faq)
+8. [Thanks](#thanks)
+9. [Contributing](#contributing)
 
-This module integrates PNP4Nagios into your
-[Icinga Web 2](https://www.icinga.org/icinga/screenshots/icinga-web-2/)
-frontend. It requires [PNP4Nagios](https://docs.pnp4nagios.org/)
-to installed and configured.
+## About
 
-Installation
-------------
+This module integrates [PNP](https://docs.pnp4nagios.org/) into [Icinga Web 2](https://www.icinga.com/products/icinga-web-2/)
+and allows you to view beautiful graphs in the host/service detail view.
+
+[![Detail View](doc/screenshot/detail_view.png)](doc/screenshot/detail_view.png)
+[![Iframe](doc/screenshot/iframe.png)](doc/screenshot/iframe.png)
+
+## License
+
+Icinga Web 2 and this Icinga Web 2 module are licensed under the terms of the GNU General Public License Version 2, you will find a copy of this license in the LICENSE file included in the source package.
+
+## Support
+
+Join the [Icinga community channels](https://www.icinga.com/community/get-involved/) for questions.
+
+## Requirements
+
+This module glues PNP and Icinga Web 2 together. Both of them are required
+to be installed and configured:
+
+* [Icinga Web 2](https://www.icinga.com/products/icinga-web-2/) (>= 2.4.1)
+* [PNP](https://docs.pnp4nagios.org/) (>= 0.6.25)
+
+
+## Installation
+
+Extract this module to your Icinga Web 2 modules directory as `pnp` directory.
+
+Git clone:
+
+```
+cd /usr/share/icingaweb2/modules
+git clone https://github.com/Icinga/icingaweb2-module-pnp.git pnp
+```
+
+
+Tarball download (latest [release](https://github.com/Icinga/icingaweb2-module-pnp/releases/latest)):
+
+```
+cd /usr/share/icingaweb2/modules
+wget https://github.com/Icinga/icingaweb2-module-pnp/archive/v1.1.0.zip
+unzip v1.1.0.zip
+mv icingaweb2-module-pnp-1.1.0 pnp
+```
+
+### Enable Icinga Web 2 module
+
+Enable the module in the Icinga Web 2 frontend in `Configuration -> Modules -> pnp -> enable`.
+You can also enable the module by using the `icingacli` command:
+
+```
+icingacli module enable pnp
+```
+
+## Configuration
+
+### PNP Configuration
+
+The base URL for PNP (e.g. `/pnp4nagios`) must be accessible on the webserver.
+
+There is an [open issue](https://github.com/Icinga/icingaweb2-module-pnp/issues/29)
+for forwarding the Icinga Web 2 auth session to PNP.
+
+### Module Configuration
+
+Navigate to `Modules - PNP - Config` and specify the settings.
+
+[![Configuration](doc/screenshot/config_form.png)](doc/screenshot/config_form.png)
+
+## FAQ
+
+### Duplicated Graphs in Detail View
+
+There is a problem with `config.php` and `config_local.php`
+in PNP (discussion [here](https://monitoring-portal.org/index.php?thread/35865-doppelte-eintr%C3%A4ge-im-icinga2-mit-pnp/&postID=228011#post228011)).
+
+Remove the duplicated views in one of them, e.g. in `config_local.php`:
+
+```
+- $views[] = array('title' => '4 Hours',   'start' => (60*60*4) ); 
+- $views[] = array('title' => '25 Hours',  'start' => (60*60*25) ); 
+- $views[] = array('title' => 'One Week',  'start' => (60*60*25*7) ); 
+- $views[] = array('title' => 'One Month', 'start' => (60*60*24*32) ); 
+- $views[] = array('title' => 'One Year',  'start' => (60*60*24*380) );
+```
+
+The related issue can be found [here](https://github.com/Icinga/icingaweb2-module-pnp/issues/18).
+
+### Preview Graphs Missing in Detail View
+
+First off, the module needs to read the local PNP configuration files and as such
+you need to ensure that the path can be read by the web server user. SELinux may prevent
+this too next to wrong permissions or wrong paths. This path defaults to
+`/etc/pnp4nagios` and requires adjustments for your own needs.
+If the module is not able to read the configuration, an error will be logged
+to the debug log and no graph will be rendered.
+
+Also ensure that the user who is not seeing the graphs actually has the permission
+to view the PNP module. Navigate into your roles configuration and verify that.
+
+PNP stores meta information in an XML file next to the actual RRD file. If this file
+is missing in your RRD data store, the module won't render graphs. Verify that PNP and
+NPCD are running and troubleshoot why metrics are not updated. The debug level helps here.
+
+Last but not least, if there are no graphs available, the detail view won't show any graphs.
+You can verify that by opening the native PNP interface and search for the corresponding host
+or service.
+
+## Thanks
+
+
+
+
+## Contributing
+
+There are many ways to contribute to the Icinga Web module for PNP --
+whether it be sending patches, testing, reporting bugs, or reviewing and
+updating the documentation. Every contribution is appreciated!
 
-Just drop this module to a folder named `pnp` in one of your Icinga Web 2 module
-directories. Then enable it in your frontend (Configuration -> Modules -> pnp
--> enable) and it should work out of the box. Check the modules config tab right
-there in case you are using a customized installation instead of standard
-PNP4Nagios packages.
 
-TODO
-----
 
-We should also provide an easy way to integrate our authentication and
-permission system into PNP4Nagios. This would require a small wrapper doing an
-embedded Icinga Web 2 bootstrap in order to provide our user object and a list
-of allowed hosts/services to PNP4Nagios.
diff --git a/RELEASE.md b/RELEASE.md
index c2aba0d..068c0ee 100644
--- a/RELEASE.md
+++ b/RELEASE.md
@@ -19,6 +19,10 @@ git checkout master
 git log --use-mailmap | grep ^Author: | cut -f2- -d' ' | sort | uniq > AUTHORS
 ```
 
+## Update metadata
+
+Edit and update [module.info](module.info).
+
 ## Changelog
 
 Update the [CHANGELOG.md](CHANGELOG.md) file.
diff --git a/application/controllers/SpecialController.php b/application/controllers/SpecialController.php
new file mode 100644
index 0000000..2685b2b
--- /dev/null
+++ b/application/controllers/SpecialController.php
@@ -0,0 +1,27 @@
+<?php
+
+namespace Icinga\Module\Pnp\Controllers;
+
+use Icinga\Module\Pnp\Web\Controller;
+
+class SpecialController extends Controller
+{
+    public function indexAction()
+    {
+        $url = $this->getRequest()->getUrl();
+        $queryString = $url->getQueryString();
+
+        $this->view->url = \sprintf(
+            '%s/special?%s',
+            $this->getBaseUrl(),
+            $queryString
+        );
+
+        $this->getTabs()->add('special', [
+            'label' => $this->translate('Special'),
+            'url'   => $url,
+        ])->activate('special');
+
+        $this->setViewScript('index/iframe');
+    }
+}
diff --git a/debian/changelog b/debian/changelog
index c996771..9965d59 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+icingaweb2-module-pnp (1.1.0+git20200311.1.13a50ef-1) UNRELEASED; urgency=low
+
+  * New upstream snapshot.
+
+ -- Debian Janitor <janitor@jelmer.uk>  Sat, 05 Jun 2021 14:27:27 -0000
+
 icingaweb2-module-pnp (1.1.0-2) unstable; urgency=medium
 
   * Updating debhelper.
diff --git a/doc/screenshot/config_form.png b/doc/screenshot/config_form.png
new file mode 100644
index 0000000..03a7187
Binary files /dev/null and b/doc/screenshot/config_form.png differ
diff --git a/doc/screenshot/detail_view.png b/doc/screenshot/detail_view.png
new file mode 100644
index 0000000..5af6702
Binary files /dev/null and b/doc/screenshot/detail_view.png differ
diff --git a/doc/screenshot/iframe.png b/doc/screenshot/iframe.png
new file mode 100644
index 0000000..07eb176
Binary files /dev/null and b/doc/screenshot/iframe.png differ
diff --git a/icingaexchange.yml b/icingaexchange.yml
new file mode 100644
index 0000000..2847ca4
--- /dev/null
+++ b/icingaexchange.yml
@@ -0,0 +1,18 @@
+name: PNP
+description: "file:///README.md"
+url: "https://dev.icinga.org/projects/icingaweb2-module-pnp"
+tags: PNP, Charts, RRD, Performance Data, Monitoring
+vendor: Icinga
+target: Icinga Web 2
+type: Module
+license: gplv2
+releases:
+  -
+    name: v1.0.1
+    description: "Current"
+    files:
+      -
+        name: icingaweb2-module-pnp.zip
+        url: "https://github.com/Icinga/icingaweb2-module-pnp/archive/v1.0.1.zip"
+        description: Module file for Icinga Web 2
+        checksum: d13f5137eee30958543ff05e51f2355c
diff --git a/module.info b/module.info
index 1919ef2..4b57136 100644
--- a/module.info
+++ b/module.info
@@ -1,5 +1,5 @@
 Name: PNP4Nagios
-Version: 1.0.1
+Version: 1.1.0
 Depends: monitoring>=2.1.0
 Description: Timeseries grapher integration for PNP4Nagios
  PNP is an addon to Icinga or Nagios which analyzes performance data