diff --git a/website-v2/src/components/PageSection.tsx b/website-v2/src/components/PageSection.tsx
index 8a7ffdb..f7d3ae8 100644
--- a/website-v2/src/components/PageSection.tsx
+++ b/website-v2/src/components/PageSection.tsx
@@ -8,6 +8,7 @@
   const alignContentCenter = props.alignContentCenter ? 'text-center justify-content-center' : '';
 
   const lightModeClass = props.lightMode ? 'text-light' : '';
+  const marginBottom = props.marginBottom ? props.marginBottom : '55px';
 
   return (
     <>
@@ -15,7 +16,10 @@
         <div className="container">
           <div className={`row align-items-center ${alignCenter}`}>
             <div className={"col-12"}>
-              <PageSectionTitle title={props.sectionTitle} sectionSubtitle={props.sectionSubtitle} lightMode={props.lightMode}></PageSectionTitle>
+              <PageSectionTitle title={props.sectionTitle}
+                                marginBottom={marginBottom}
+                                sectionSubtitle={props.sectionSubtitle}
+                                lightMode={props.lightMode}></PageSectionTitle>
               <div className={`col-lg-12 col-md-12 order-md-0 ${alignContentCenter} ${lightModeClass}`}>
                 {props.children}
               </div>
diff --git a/website-v2/src/components/PageSectionTitle.tsx b/website-v2/src/components/PageSectionTitle.tsx
index 0975829..278e8e1 100644
--- a/website-v2/src/components/PageSectionTitle.tsx
+++ b/website-v2/src/components/PageSectionTitle.tsx
@@ -9,7 +9,7 @@
   const largeSectionClass = props.largeSection ? 'section-title-large' : '';
 
   return (
-    <div className={`section-title ${largeSectionClass} ${alignClass}`}>
+    <div className={`section-title ${largeSectionClass} ${alignClass}`} style={{marginBottom: props.marginBottom}}>
       {
         props.sectionSubtitle ? (<span className="sub-title">{props.sectionSubtitle}</span>) : (<span></span>)
       }
diff --git a/website-v2/src/components/Teaser.tsx b/website-v2/src/components/Teaser.tsx
index a2aa85d..6f11029 100644
--- a/website-v2/src/components/Teaser.tsx
+++ b/website-v2/src/components/Teaser.tsx
@@ -4,7 +4,7 @@
 
 const Teaser = (props) => (
   <>
-    <section className="elements-area">
+    <section className="elements-area" style={{borderBottom: '1px solid #cecece'}}>
       <div className={"row"}>
         <div className={"col-9 container-lg d-flex align-items-center justify-content-center"}>
           <div className={"left-claim-section"}>
@@ -69,9 +69,6 @@
         <div className={"col-3 teaser-image"}>
         </div>
       </div>
-
-
-
     </section>
   </>
 )
diff --git a/website-v2/src/components/home/MadeForIIoT.tsx b/website-v2/src/components/home/MadeForIIoT.tsx
index 8c0531e..7c99da2 100644
--- a/website-v2/src/components/home/MadeForIIoT.tsx
+++ b/website-v2/src/components/home/MadeForIIoT.tsx
@@ -4,8 +4,11 @@
 const MadeForIIoT = (props) => (
   <>
     <PageSection sectionTitle={"Made for the Industrial IoT"} sectionSubtitle={"Quick-start your IIoT initiative"}
-                 backgroundClass={"background-primary-light"}>
+                 backgroundClass={"background-primary-light"} marginBottom={"35px"}>
 
+      <div className={"d-flex align-items-center justify-content-center"}>
+        <img src={"/img/architecture/streampipes-architecture-overview.png"} className={"architecture-image"}/>
+      </div>
     </PageSection>
 
   </>
diff --git a/website-v2/src/css/customTheme.css b/website-v2/src/css/customTheme.css
index f8b2184..f0e7097 100644
--- a/website-v2/src/css/customTheme.css
+++ b/website-v2/src/css/customTheme.css
@@ -10,7 +10,7 @@
     --color-primary: rgb(27, 20, 100);
     --color-accent: rgb(57, 181, 74);
 
-    --color-primary-light: rgb(244, 244, 255);
+    --color-primary-light: rgb(246, 246, 255);
 
     --ifm-navbar-height: 4.5rem;
 
diff --git a/website-v2/static/css/custom-website.css b/website-v2/static/css/custom-website.css
index f90b0fe..9f12c74 100644
--- a/website-v2/static/css/custom-website.css
+++ b/website-v2/static/css/custom-website.css
@@ -499,7 +499,11 @@
 	font-size: 2rem;
 }
 
-
+.architecture-image {
+	max-width: 850px;
+	margin-left: auto;
+	margin-right: auto;
+}
 
 
 
diff --git a/website-v2/static/img/architecture/streampipes-architecture-overview.png b/website-v2/static/img/architecture/streampipes-architecture-overview.png
new file mode 100644
index 0000000..c6a803b
--- /dev/null
+++ b/website-v2/static/img/architecture/streampipes-architecture-overview.png
Binary files differ
diff --git a/website-v2/static/img/screenshots/sdk-data-processor.png b/website-v2/static/img/screenshots/sdk-data-processor.png
index eaa4045..1c0dece 100644
--- a/website-v2/static/img/screenshots/sdk-data-processor.png
+++ b/website-v2/static/img/screenshots/sdk-data-processor.png
Binary files differ
