diff --git a/Gruntfile.js b/Gruntfile.js
index 5d48678a53c54289fe4b4da69031f77d979c2400..316721e2adc76a32fb574c336dcd1bf5b9c89f6a 100644
--- a/Gruntfile.js
+++ b/Gruntfile.js
@@ -492,6 +492,7 @@ module.exports = function (grunt) {
             production: {
                 files: {
                     "extension/Resources/Public/Css/qfq-bs.css": "less/qfq-bs.css.less",
+                    "extension/Resources/Public/Css/qfq-letter.css": "less/qfq-letter.css.less",
                     "extension/Resources/Public/Css/qfq-plain.css": "less/qfq-plain.css.less",
                     "extension/Resources/Public/Css/bs-tablesorter.css": "less/bs-tablesorter.less"
                 },
@@ -502,6 +503,7 @@ module.exports = function (grunt) {
             devel: {
                 files: {
                     "css/qfq-bs.css": "less/qfq-bs.css.less",
+                    "css/qfq-letter.css": "less/qfq-letter.css.less",
                     "css/qfq-plain.css": "less/qfq-plain.css.less",
                     "css/bs-tablesorter.css": "less/bs-tablesorter.less"
                 },
diff --git a/extension/Documentation/Manual.rst b/extension/Documentation/Manual.rst
index e34887d899c2dead103a834cecd46aaf1e64c284..0cee4d2ec3f3020d8533bc6291bbdeb106051459 100644
--- a/extension/Documentation/Manual.rst
+++ b/extension/Documentation/Manual.rst
@@ -3401,7 +3401,8 @@ Type: sendmail
 
 * For debugging, please check `REDIRECT_ALL_MAIL_TO`_.
 
-Example to attach one file and concatenate PDF files to a single one, whose source are web pages: ::
+Example to attach one file1.pdf (with the attachment filename 'readme.pdf') and concatenate two PDF, created on the fly
+from the www.example.com and ?export (with the attachment filename 'personal.pdf'): ::
 
   sendMailAttachmemt = F:fileadmin/file1.pdf|d:readme.pdf|C|u:http://www.example.com|p:?id=export&r=123&_sip=1|d:personal.pdf
 
diff --git a/less/qfq-bs.css.less b/less/qfq-bs.css.less
index a7990ca5b46d4abe086ec94589b8a45cf9ae1e77..05d0b0d5b1934c38a087865ae0cb54b05413b586 100644
--- a/less/qfq-bs.css.less
+++ b/less/qfq-bs.css.less
@@ -38,7 +38,7 @@ i.@{spinner_class} {
   margin-top: 10px;
 }
 
-/*inline elements in horizontal mode are too much left*/
+/* inline elements in horizontal mode are too much left */
 .form-horizontal {
   .form-inline {
     .form-group {
@@ -496,4 +496,3 @@ i.@{spinner_class} {
 a.noclick {
   pointer-events: none;
 }
-
diff --git a/less/qfq-letter.css.less b/less/qfq-letter.css.less
new file mode 100644
index 0000000000000000000000000000000000000000..bfdb09a4a03a12ded6e97d190ba2fde303686a89
--- /dev/null
+++ b/less/qfq-letter.css.less
@@ -0,0 +1,77 @@
+// Letter
+
+body {
+  font-family: Arial, sans-serif;
+}
+
+header {
+  height: 205px;
+}
+
+.letter-unit {
+  position: absolute;
+  /* background-color: yellow; */
+  display: inline-block;
+  font-size: 0.9em;
+  left: 585px;
+  top: 0;
+  width: 285px;
+  height: 205px;
+}
+
+.letter-logo {
+  position: absolute;
+  top: 0;
+  left: 28px;
+  width: 235px;
+}
+
+.letter-title {
+  font-size: 1.1em;
+  font-weight: bold;
+}
+
+.letter-sender {
+  position: relative;
+  display: inline-block;
+  /* background-color: lime; */
+  font-size: 0.9em;
+  left: 118px;
+  top: 0;
+  width: 285px;
+  height: 250px;
+}
+
+.letter-receiver {
+  position: relative;
+  display: inline-block;
+  top: -50px;
+  left: 111px;
+  width: 455px;
+  height: 250px;
+  /* background-color: red; */
+}
+
+.letter-date {
+  position: relative;
+  display: block;
+  /* background-color: blue; */
+  top: -43px;
+  left: 111px;
+  width: 750px;
+}
+
+.letter-no-break {
+  page-break-inside: avoid;
+}
+
+.letter-body {
+  margin-left: 111px;
+  width: 750px;
+  /* background-color: orange; */
+}
+
+.letter-h1 {
+  font-size: 1em;
+  font-weight: bold;
+}
\ No newline at end of file
diff --git a/t3/qfq.php b/t3/qfq.php
deleted file mode 100644
index a2d0acfcd13c54a28101b2171a4b4b35f3d67899..0000000000000000000000000000000000000000
--- a/t3/qfq.php
+++ /dev/null
@@ -1,50 +0,0 @@
-<?php
-/**
- * Created by PhpStorm.
- * User: ep
- * Date: 12/23/15
- * Time: 6:16 PM
- */
-
-namespace qfq;
-
-use qfq;
-
-//use qfq\UserException;
-//use qfq\CodeException;
-//use qfq\DbException;
-
-require_once(__DIR__ . '/../qfq/QuickFormQuery.php');
-require_once(__DIR__ . '/../qfq/exceptions/UserException.php');
-require_once(__DIR__ . '/../qfq/exceptions/CodeException.php');
-require_once(__DIR__ . '/../qfq/exceptions/DbException.php');
-
-
-//TODO: unit tests fuer alle abgefangenen Exceptions
-
-/*
- *
- * @param string $bodytext keyvalue pairs.
- *
- * @return $string LOAD: the form as HTML, SAVE: success or failure message, or JS redirect to destination page.
- */
-function renderForm($bodytext = "") {
-
-    try {
-        $qfq = new QuickFormQuery($bodytext);
-        echo $qfq->process();
-
-        echo "test";
-
-
-    } catch (UserFormException $e) {
-        echo $e->formatMessage();
-    } catch (CodeException $e) {
-        echo $e->formatMessage();
-    } catch (DbException $e) {
-        echo $e->formatMessage();
-    } catch (\Exception $e) {
-        echo "Generic Exception: " . $e->getMessage();
-    }
-
-}
\ No newline at end of file