     /// - Peturns: Final formatted template with headers and footers
     private func createTemplate(ignoreString: String) -> (template: String, status: HTTPResponseStatus) {
         guard let urlDecoded = ignoreString.removingPercentEncoding else {
-            return ("\n#!! ERROR: url decoding \(ignoreString) !#\n", .internalServerError)
+            return ("""
+
+                #!! ERROR: url decoding \(ignoreString) !#
+
+                """, .internalServerError)
         }
         var createStatus: HTTPResponseStatus = .ok
         let template = urlDecoded

    ///
    /// - Parameter router: Vapor server side Swift router
    internal func createHelp(router: Router) {
        router.get("/api/") { request in
            """
            gitignore.io help:
              list    - lists the operating systems, programming languages and IDE input types

            .map { (templateKey) -> String in
                guard let contents = self.templates[templateKey]?.contents else {
                    createStatus = .notFound
                    return """

                    #!! ERROR: \(templateKey) is undefined. Use list command to see defined gitignore types !!#

                    """
                }
                return contents
            }
            .reduce("""

                # Created by https://www.gitignore.io/api/\(urlDecoded)
                # Edit at https://www.gitignore.io/?templates=\(urlDecoded)

                """) { (currentTemplate, contents) -> String in
                return currentTemplate.appending(contents)
            }
            .appending("""

            # End of https://www.gitignore.io/api/\(urlDecoded)

            """)
            .removeDuplicateLines()

        return (template: template, status: createStatus)
