diff --git a/content/404.html b/content/404.html
index 46a9b66..d8cf47d 100644
--- a/content/404.html
+++ b/content/404.html
@@ -13,7 +13,7 @@
     <link rel="shortcut icon" href="/favicon.ico?1">
     <!-- Begin Jekyll SEO tag v2.8.0 -->
 <title>Nemo | A Data Processing System for Flexible Employment With Different Deployment Characteristics.</title>
-<meta name="generator" content="Jekyll v3.9.2" />
+<meta name="generator" content="Jekyll v3.9.3" />
 <meta property="og:title" content="Nemo" />
 <meta property="og:locale" content="en_US" />
 <meta name="description" content="A Data Processing System for Flexible Employment With Different Deployment Characteristics." />
@@ -65,7 +65,7 @@
                     <li><a href="https://www.apache.org/foundation/how-it-works.html">How Apache Works</a></li>
                     <li><a href="https://www.apache.org/licenses/">License</a></li>
                     <li><a href="https://www.apache.org/security/">Security</a></li>
-                    <li><a href="https://www.apache.org/foundation/policies/privacy.html">Privacy</a></li>
+                    <li><a href="https://privacy.apache.org/policies/privacy-policy-public.html">Privacy</a></li>
                     <li><a href="https://www.apache.org/foundation/sponsorship.html">Sponsoring Apache</a></li>
                     <li><a href="https://www.apache.org/foundation/thanks.html">Thanks</a></li>
                   </ul>
@@ -102,7 +102,7 @@
         <div class="row">
             <div class="col-sm-11">
                 <p class="text-center">
-                    Nemo 2022 |
+                    Nemo 2023 |
                     Powered by <a href="https://github.com/aksakalli/jekyll-doc-theme">Jekyll Doc Theme</a>
                 </p>
                 <br>
diff --git a/content/allposts.html b/content/allposts.html
index 404295c..af05009 100644
--- a/content/allposts.html
+++ b/content/allposts.html
@@ -13,7 +13,7 @@
     <link rel="shortcut icon" href="/favicon.ico?1">
     <!-- Begin Jekyll SEO tag v2.8.0 -->
 <title>Blog | Nemo</title>
-<meta name="generator" content="Jekyll v3.9.2" />
+<meta name="generator" content="Jekyll v3.9.3" />
 <meta property="og:title" content="Blog" />
 <meta property="og:locale" content="en_US" />
 <meta name="description" content="A Data Processing System for Flexible Employment With Different Deployment Characteristics." />
@@ -65,7 +65,7 @@
                     <li><a href="https://www.apache.org/foundation/how-it-works.html">How Apache Works</a></li>
                     <li><a href="https://www.apache.org/licenses/">License</a></li>
                     <li><a href="https://www.apache.org/security/">Security</a></li>
-                    <li><a href="https://www.apache.org/foundation/policies/privacy.html">Privacy</a></li>
+                    <li><a href="https://privacy.apache.org/policies/privacy-policy-public.html">Privacy</a></li>
                     <li><a href="https://www.apache.org/foundation/sponsorship.html">Sponsoring Apache</a></li>
                     <li><a href="https://www.apache.org/foundation/thanks.html">Thanks</a></li>
                   </ul>
@@ -143,7 +143,7 @@
         <div class="row">
             <div class="col-sm-11">
                 <p class="text-center">
-                    Nemo 2022 |
+                    Nemo 2023 |
                     Powered by <a href="https://github.com/aksakalli/jekyll-doc-theme">Jekyll Doc Theme</a>
                 </p>
                 <br>
diff --git a/content/assets/img/overview.jpg b/content/assets/img/overview.jpg
new file mode 100644
index 0000000..6acb94f
--- /dev/null
+++ b/content/assets/img/overview.jpg
Binary files differ
diff --git a/content/assets/img/pass.jpg b/content/assets/img/pass.jpg
new file mode 100644
index 0000000..849b90d
--- /dev/null
+++ b/content/assets/img/pass.jpg
Binary files differ
diff --git a/content/assets/img/runtime.jpg b/content/assets/img/runtime.jpg
new file mode 100644
index 0000000..215fd72
--- /dev/null
+++ b/content/assets/img/runtime.jpg
Binary files differ
diff --git a/content/blog/2018/03/20/nemo-blog-published/index.html b/content/blog/2018/03/20/nemo-blog-published/index.html
index d6e06d7..1ba11b9 100644
--- a/content/blog/2018/03/20/nemo-blog-published/index.html
+++ b/content/blog/2018/03/20/nemo-blog-published/index.html
@@ -13,7 +13,7 @@
     <link rel="shortcut icon" href="/favicon.ico?1">
     <!-- Begin Jekyll SEO tag v2.8.0 -->
 <title>Nemo blog published! | Nemo</title>
-<meta name="generator" content="Jekyll v3.9.2" />
+<meta name="generator" content="Jekyll v3.9.3" />
 <meta property="og:title" content="Nemo blog published!" />
 <meta name="author" content="Won Wook SONG" />
 <meta property="og:locale" content="en_US" />
@@ -67,7 +67,7 @@
                     <li><a href="https://www.apache.org/foundation/how-it-works.html">How Apache Works</a></li>
                     <li><a href="https://www.apache.org/licenses/">License</a></li>
                     <li><a href="https://www.apache.org/security/">Security</a></li>
-                    <li><a href="https://www.apache.org/foundation/policies/privacy.html">Privacy</a></li>
+                    <li><a href="https://privacy.apache.org/policies/privacy-policy-public.html">Privacy</a></li>
                     <li><a href="https://www.apache.org/foundation/sponsorship.html">Sponsoring Apache</a></li>
                     <li><a href="https://www.apache.org/foundation/thanks.html">Thanks</a></li>
                   </ul>
@@ -150,7 +150,7 @@
         <div class="row">
             <div class="col-sm-11">
                 <p class="text-center">
-                    Nemo 2022 |
+                    Nemo 2023 |
                     Powered by <a href="https://github.com/aksakalli/jekyll-doc-theme">Jekyll Doc Theme</a>
                 </p>
                 <br>
diff --git a/content/blog/2018/03/23/pado-on-nemo/index.html b/content/blog/2018/03/23/pado-on-nemo/index.html
index abfaa4d..66c68bc 100644
--- a/content/blog/2018/03/23/pado-on-nemo/index.html
+++ b/content/blog/2018/03/23/pado-on-nemo/index.html
@@ -13,7 +13,7 @@
     <link rel="shortcut icon" href="/favicon.ico?1">
     <!-- Begin Jekyll SEO tag v2.8.0 -->
 <title>Harnessing transient resources using Nemo | Nemo</title>
-<meta name="generator" content="Jekyll v3.9.2" />
+<meta name="generator" content="Jekyll v3.9.3" />
 <meta property="og:title" content="Harnessing transient resources using Nemo" />
 <meta name="author" content="John Yang" />
 <meta property="og:locale" content="en_US" />
@@ -67,7 +67,7 @@
                     <li><a href="https://www.apache.org/foundation/how-it-works.html">How Apache Works</a></li>
                     <li><a href="https://www.apache.org/licenses/">License</a></li>
                     <li><a href="https://www.apache.org/security/">Security</a></li>
-                    <li><a href="https://www.apache.org/foundation/policies/privacy.html">Privacy</a></li>
+                    <li><a href="https://privacy.apache.org/policies/privacy-policy-public.html">Privacy</a></li>
                     <li><a href="https://www.apache.org/foundation/sponsorship.html">Sponsoring Apache</a></li>
                     <li><a href="https://www.apache.org/foundation/thanks.html">Thanks</a></li>
                   </ul>
@@ -190,7 +190,7 @@
         <div class="row">
             <div class="col-sm-11">
                 <p class="text-center">
-                    Nemo 2022 |
+                    Nemo 2023 |
                     Powered by <a href="https://github.com/aksakalli/jekyll-doc-theme">Jekyll Doc Theme</a>
                 </p>
                 <br>
diff --git a/content/blog/2018/03/23/shuffle-on-nemo/index.html b/content/blog/2018/03/23/shuffle-on-nemo/index.html
index 5e1d43e..9f9c34a 100644
--- a/content/blog/2018/03/23/shuffle-on-nemo/index.html
+++ b/content/blog/2018/03/23/shuffle-on-nemo/index.html
@@ -13,7 +13,7 @@
     <link rel="shortcut icon" href="/favicon.ico?1">
     <!-- Begin Jekyll SEO tag v2.8.0 -->
 <title>Optimizing shuffle performance using Nemo | Nemo</title>
-<meta name="generator" content="Jekyll v3.9.2" />
+<meta name="generator" content="Jekyll v3.9.3" />
 <meta property="og:title" content="Optimizing shuffle performance using Nemo" />
 <meta name="author" content="John Yang" />
 <meta property="og:locale" content="en_US" />
@@ -67,7 +67,7 @@
                     <li><a href="https://www.apache.org/foundation/how-it-works.html">How Apache Works</a></li>
                     <li><a href="https://www.apache.org/licenses/">License</a></li>
                     <li><a href="https://www.apache.org/security/">Security</a></li>
-                    <li><a href="https://www.apache.org/foundation/policies/privacy.html">Privacy</a></li>
+                    <li><a href="https://privacy.apache.org/policies/privacy-policy-public.html">Privacy</a></li>
                     <li><a href="https://www.apache.org/foundation/sponsorship.html">Sponsoring Apache</a></li>
                     <li><a href="https://www.apache.org/foundation/thanks.html">Thanks</a></li>
                   </ul>
@@ -196,7 +196,7 @@
         <div class="row">
             <div class="col-sm-11">
                 <p class="text-center">
-                    Nemo 2022 |
+                    Nemo 2023 |
                     Powered by <a href="https://github.com/aksakalli/jekyll-doc-theme">Jekyll Doc Theme</a>
                 </p>
                 <br>
diff --git a/content/blog/2019/03/02/release-note-0.1/index.html b/content/blog/2019/03/02/release-note-0.1/index.html
index 500ec95..43688d8 100644
--- a/content/blog/2019/03/02/release-note-0.1/index.html
+++ b/content/blog/2019/03/02/release-note-0.1/index.html
@@ -13,7 +13,7 @@
     <link rel="shortcut icon" href="/favicon.ico?1">
     <!-- Begin Jekyll SEO tag v2.8.0 -->
 <title>Nemo Release 0.1 | Nemo</title>
-<meta name="generator" content="Jekyll v3.9.2" />
+<meta name="generator" content="Jekyll v3.9.3" />
 <meta property="og:title" content="Nemo Release 0.1" />
 <meta name="author" content="Won Wook SONG" />
 <meta property="og:locale" content="en_US" />
@@ -67,7 +67,7 @@
                     <li><a href="https://www.apache.org/foundation/how-it-works.html">How Apache Works</a></li>
                     <li><a href="https://www.apache.org/licenses/">License</a></li>
                     <li><a href="https://www.apache.org/security/">Security</a></li>
-                    <li><a href="https://www.apache.org/foundation/policies/privacy.html">Privacy</a></li>
+                    <li><a href="https://privacy.apache.org/policies/privacy-policy-public.html">Privacy</a></li>
                     <li><a href="https://www.apache.org/foundation/sponsorship.html">Sponsoring Apache</a></li>
                     <li><a href="https://www.apache.org/foundation/thanks.html">Thanks</a></li>
                   </ul>
@@ -252,7 +252,7 @@
         <div class="row">
             <div class="col-sm-11">
                 <p class="text-center">
-                    Nemo 2022 |
+                    Nemo 2023 |
                     Powered by <a href="https://github.com/aksakalli/jekyll-doc-theme">Jekyll Doc Theme</a>
                 </p>
                 <br>
diff --git a/content/blog/2020/03/09/release-note-0.2/index.html b/content/blog/2020/03/09/release-note-0.2/index.html
index 602b5a2..6d6489e 100644
--- a/content/blog/2020/03/09/release-note-0.2/index.html
+++ b/content/blog/2020/03/09/release-note-0.2/index.html
@@ -13,7 +13,7 @@
     <link rel="shortcut icon" href="/favicon.ico?1">
     <!-- Begin Jekyll SEO tag v2.8.0 -->
 <title>Nemo Release 0.2 | Nemo</title>
-<meta name="generator" content="Jekyll v3.9.2" />
+<meta name="generator" content="Jekyll v3.9.3" />
 <meta property="og:title" content="Nemo Release 0.2" />
 <meta name="author" content="Wooyeon Lee" />
 <meta property="og:locale" content="en_US" />
@@ -67,7 +67,7 @@
                     <li><a href="https://www.apache.org/foundation/how-it-works.html">How Apache Works</a></li>
                     <li><a href="https://www.apache.org/licenses/">License</a></li>
                     <li><a href="https://www.apache.org/security/">Security</a></li>
-                    <li><a href="https://www.apache.org/foundation/policies/privacy.html">Privacy</a></li>
+                    <li><a href="https://privacy.apache.org/policies/privacy-policy-public.html">Privacy</a></li>
                     <li><a href="https://www.apache.org/foundation/sponsorship.html">Sponsoring Apache</a></li>
                     <li><a href="https://www.apache.org/foundation/thanks.html">Thanks</a></li>
                   </ul>
@@ -348,7 +348,7 @@
         <div class="row">
             <div class="col-sm-11">
                 <p class="text-center">
-                    Nemo 2022 |
+                    Nemo 2023 |
                     Powered by <a href="https://github.com/aksakalli/jekyll-doc-theme">Jekyll Doc Theme</a>
                 </p>
                 <br>
diff --git a/content/blog/2022/06/07/release-note-0.3/index.html b/content/blog/2022/06/07/release-note-0.3/index.html
index fa2566d..7de6b14 100644
--- a/content/blog/2022/06/07/release-note-0.3/index.html
+++ b/content/blog/2022/06/07/release-note-0.3/index.html
@@ -13,7 +13,7 @@
     <link rel="shortcut icon" href="/favicon.ico?1">
     <!-- Begin Jekyll SEO tag v2.8.0 -->
 <title>Nemo Release 0.3 | Nemo</title>
-<meta name="generator" content="Jekyll v3.9.2" />
+<meta name="generator" content="Jekyll v3.9.3" />
 <meta property="og:title" content="Nemo Release 0.3" />
 <meta name="author" content="Won Wook SONG" />
 <meta property="og:locale" content="en_US" />
@@ -67,7 +67,7 @@
                     <li><a href="https://www.apache.org/foundation/how-it-works.html">How Apache Works</a></li>
                     <li><a href="https://www.apache.org/licenses/">License</a></li>
                     <li><a href="https://www.apache.org/security/">Security</a></li>
-                    <li><a href="https://www.apache.org/foundation/policies/privacy.html">Privacy</a></li>
+                    <li><a href="https://privacy.apache.org/policies/privacy-policy-public.html">Privacy</a></li>
                     <li><a href="https://www.apache.org/foundation/sponsorship.html">Sponsoring Apache</a></li>
                     <li><a href="https://www.apache.org/foundation/thanks.html">Thanks</a></li>
                   </ul>
@@ -204,7 +204,7 @@
         <div class="row">
             <div class="col-sm-11">
                 <p class="text-center">
-                    Nemo 2022 |
+                    Nemo 2023 |
                     Powered by <a href="https://github.com/aksakalli/jekyll-doc-theme">Jekyll Doc Theme</a>
                 </p>
                 <br>
diff --git a/content/blog/2022/08/15/beam-runner/index.html b/content/blog/2022/08/15/beam-runner/index.html
index bcba1a2..c51361c 100644
--- a/content/blog/2022/08/15/beam-runner/index.html
+++ b/content/blog/2022/08/15/beam-runner/index.html
@@ -13,7 +13,7 @@
     <link rel="shortcut icon" href="/favicon.ico?1">
     <!-- Begin Jekyll SEO tag v2.8.0 -->
 <title>Beam Nemo Runner documents updated! | Nemo</title>
-<meta name="generator" content="Jekyll v3.9.2" />
+<meta name="generator" content="Jekyll v3.9.3" />
 <meta property="og:title" content="Beam Nemo Runner documents updated!" />
 <meta name="author" content="Won Wook SONG" />
 <meta property="og:locale" content="en_US" />
@@ -67,7 +67,7 @@
                     <li><a href="https://www.apache.org/foundation/how-it-works.html">How Apache Works</a></li>
                     <li><a href="https://www.apache.org/licenses/">License</a></li>
                     <li><a href="https://www.apache.org/security/">Security</a></li>
-                    <li><a href="https://www.apache.org/foundation/policies/privacy.html">Privacy</a></li>
+                    <li><a href="https://privacy.apache.org/policies/privacy-policy-public.html">Privacy</a></li>
                     <li><a href="https://www.apache.org/foundation/sponsorship.html">Sponsoring Apache</a></li>
                     <li><a href="https://www.apache.org/foundation/thanks.html">Thanks</a></li>
                   </ul>
@@ -156,7 +156,7 @@
         <div class="row">
             <div class="col-sm-11">
                 <p class="text-center">
-                    Nemo 2022 |
+                    Nemo 2023 |
                     Powered by <a href="https://github.com/aksakalli/jekyll-doc-theme">Jekyll Doc Theme</a>
                 </p>
                 <br>
diff --git a/content/blog/2022/09/10/release-note-0.4/index.html b/content/blog/2022/09/10/release-note-0.4/index.html
index 2df668f..9f8e1be 100644
--- a/content/blog/2022/09/10/release-note-0.4/index.html
+++ b/content/blog/2022/09/10/release-note-0.4/index.html
@@ -13,7 +13,7 @@
     <link rel="shortcut icon" href="/favicon.ico?1">
     <!-- Begin Jekyll SEO tag v2.8.0 -->
 <title>Nemo Release 0.4 | Nemo</title>
-<meta name="generator" content="Jekyll v3.9.2" />
+<meta name="generator" content="Jekyll v3.9.3" />
 <meta property="og:title" content="Nemo Release 0.4" />
 <meta name="author" content="Won Wook SONG" />
 <meta property="og:locale" content="en_US" />
@@ -67,7 +67,7 @@
                     <li><a href="https://www.apache.org/foundation/how-it-works.html">How Apache Works</a></li>
                     <li><a href="https://www.apache.org/licenses/">License</a></li>
                     <li><a href="https://www.apache.org/security/">Security</a></li>
-                    <li><a href="https://www.apache.org/foundation/policies/privacy.html">Privacy</a></li>
+                    <li><a href="https://privacy.apache.org/policies/privacy-policy-public.html">Privacy</a></li>
                     <li><a href="https://www.apache.org/foundation/sponsorship.html">Sponsoring Apache</a></li>
                     <li><a href="https://www.apache.org/foundation/thanks.html">Thanks</a></li>
                   </ul>
@@ -221,7 +221,7 @@
         <div class="row">
             <div class="col-sm-11">
                 <p class="text-center">
-                    Nemo 2022 |
+                    Nemo 2023 |
                     Powered by <a href="https://github.com/aksakalli/jekyll-doc-theme">Jekyll Doc Theme</a>
                 </p>
                 <br>
diff --git a/content/docs/bootstrap/index.html b/content/docs/bootstrap/index.html
index 91fb4fd..64bb98b 100644
--- a/content/docs/bootstrap/index.html
+++ b/content/docs/bootstrap/index.html
@@ -13,7 +13,7 @@
     <link rel="shortcut icon" href="/favicon.ico?1">
     <!-- Begin Jekyll SEO tag v2.8.0 -->
 <title>Bootstrap Features | Nemo</title>
-<meta name="generator" content="Jekyll v3.9.2" />
+<meta name="generator" content="Jekyll v3.9.3" />
 <meta property="og:title" content="Bootstrap Features" />
 <meta property="og:locale" content="en_US" />
 <meta name="description" content="Buttons Default Primary Success Info Warning Danger Link Default Primary Success Info Warning Danger Link Default Action Another action Something else here Separated link" />
@@ -22,11 +22,11 @@
 <meta property="og:url" content="http://nemo.apache.org//docs/bootstrap/" />
 <meta property="og:site_name" content="Nemo" />
 <meta property="og:type" content="article" />
-<meta property="article:published_time" content="2022-11-09T01:04:48+09:00" />
+<meta property="article:published_time" content="2023-05-11T14:14:28+09:00" />
 <meta name="twitter:card" content="summary" />
 <meta property="twitter:title" content="Bootstrap Features" />
 <script type="application/ld+json">
-{"@context":"https://schema.org","@type":"WebPage","dateModified":"2022-11-09T01:04:48+09:00","datePublished":"2022-11-09T01:04:48+09:00","description":"Buttons Default Primary Success Info Warning Danger Link Default Primary Success Info Warning Danger Link Default Action Another action Something else here Separated link","headline":"Bootstrap Features","url":"http://nemo.apache.org//docs/bootstrap/"}</script>
+{"@context":"https://schema.org","@type":"WebPage","dateModified":"2023-05-11T14:14:28+09:00","datePublished":"2023-05-11T14:14:28+09:00","description":"Buttons Default Primary Success Info Warning Danger Link Default Primary Success Info Warning Danger Link Default Action Another action Something else here Separated link","headline":"Bootstrap Features","url":"http://nemo.apache.org//docs/bootstrap/"}</script>
 <!-- End Jekyll SEO tag -->
 
 
@@ -66,7 +66,7 @@
                     <li><a href="https://www.apache.org/foundation/how-it-works.html">How Apache Works</a></li>
                     <li><a href="https://www.apache.org/licenses/">License</a></li>
                     <li><a href="https://www.apache.org/security/">Security</a></li>
-                    <li><a href="https://www.apache.org/foundation/policies/privacy.html">Privacy</a></li>
+                    <li><a href="https://privacy.apache.org/policies/privacy-policy-public.html">Privacy</a></li>
                     <li><a href="https://www.apache.org/foundation/sponsorship.html">Sponsoring Apache</a></li>
                     <li><a href="https://www.apache.org/foundation/thanks.html">Thanks</a></li>
                   </ul>
@@ -610,6 +610,25 @@
   
 
 
+            <div id="disqus_thread"></div>
+            <script>
+                /**
+                *  RECOMMENDED CONFIGURATION VARIABLES: EDIT AND UNCOMMENT THE SECTION BELOW TO INSERT DYNAMIC VALUES FROM YOUR PLATFORM OR CMS.
+                *  LEARN WHY DEFINING THESE VARIABLES IS IMPORTANT: https://disqus.com/admin/universalcode/#configuration-variables    */
+                /*
+                var disqus_config = function () {
+                this.page.url = PAGE_URL;  // Replace PAGE_URL with your page's canonical URL variable
+                this.page.identifier = PAGE_IDENTIFIER; // Replace PAGE_IDENTIFIER with your page's unique identifier variable
+                };
+                */
+                (function() { // DON'T EDIT BELOW THIS LINE
+                var d = document, s = d.createElement('script');
+                s.src = 'https://apache-nemo.disqus.com/embed.js';
+                s.setAttribute('data-timestamp', +new Date());
+                (d.head || d.body).appendChild(s);
+                })();
+            </script>
+            <noscript>Please enable JavaScript to view the <a href="https://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
         </div>
 
     </div>
@@ -623,7 +642,7 @@
         <div class="row">
             <div class="col-sm-11">
                 <p class="text-center">
-                    Nemo 2022 |
+                    Nemo 2023 |
                     Powered by <a href="https://github.com/aksakalli/jekyll-doc-theme">Jekyll Doc Theme</a>
                 </p>
                 <br>
diff --git a/content/docs/cheatsheet/index.html b/content/docs/cheatsheet/index.html
index 029cca7..d4642c1 100644
--- a/content/docs/cheatsheet/index.html
+++ b/content/docs/cheatsheet/index.html
@@ -13,7 +13,7 @@
     <link rel="shortcut icon" href="/favicon.ico?1">
     <!-- Begin Jekyll SEO tag v2.8.0 -->
 <title>Markdown Cheatsheet | Nemo</title>
-<meta name="generator" content="Jekyll v3.9.2" />
+<meta name="generator" content="Jekyll v3.9.3" />
 <meta property="og:title" content="Markdown Cheatsheet" />
 <meta property="og:locale" content="en_US" />
 <meta name="description" content="From adam-p/markdown-here" />
@@ -22,11 +22,11 @@
 <meta property="og:url" content="http://nemo.apache.org//docs/cheatsheet/" />
 <meta property="og:site_name" content="Nemo" />
 <meta property="og:type" content="article" />
-<meta property="article:published_time" content="2022-11-09T01:04:48+09:00" />
+<meta property="article:published_time" content="2023-05-11T14:14:28+09:00" />
 <meta name="twitter:card" content="summary" />
 <meta property="twitter:title" content="Markdown Cheatsheet" />
 <script type="application/ld+json">
-{"@context":"https://schema.org","@type":"WebPage","dateModified":"2022-11-09T01:04:48+09:00","datePublished":"2022-11-09T01:04:48+09:00","description":"From adam-p/markdown-here","headline":"Markdown Cheatsheet","url":"http://nemo.apache.org//docs/cheatsheet/"}</script>
+{"@context":"https://schema.org","@type":"WebPage","dateModified":"2023-05-11T14:14:28+09:00","datePublished":"2023-05-11T14:14:28+09:00","description":"From adam-p/markdown-here","headline":"Markdown Cheatsheet","url":"http://nemo.apache.org//docs/cheatsheet/"}</script>
 <!-- End Jekyll SEO tag -->
 
 
@@ -66,7 +66,7 @@
                     <li><a href="https://www.apache.org/foundation/how-it-works.html">How Apache Works</a></li>
                     <li><a href="https://www.apache.org/licenses/">License</a></li>
                     <li><a href="https://www.apache.org/security/">Security</a></li>
-                    <li><a href="https://www.apache.org/foundation/policies/privacy.html">Privacy</a></li>
+                    <li><a href="https://privacy.apache.org/policies/privacy-policy-public.html">Privacy</a></li>
                     <li><a href="https://www.apache.org/foundation/sponsorship.html">Sponsoring Apache</a></li>
                     <li><a href="https://www.apache.org/foundation/thanks.html">Thanks</a></li>
                   </ul>
@@ -687,6 +687,25 @@
   
 
 
+            <div id="disqus_thread"></div>
+            <script>
+                /**
+                *  RECOMMENDED CONFIGURATION VARIABLES: EDIT AND UNCOMMENT THE SECTION BELOW TO INSERT DYNAMIC VALUES FROM YOUR PLATFORM OR CMS.
+                *  LEARN WHY DEFINING THESE VARIABLES IS IMPORTANT: https://disqus.com/admin/universalcode/#configuration-variables    */
+                /*
+                var disqus_config = function () {
+                this.page.url = PAGE_URL;  // Replace PAGE_URL with your page's canonical URL variable
+                this.page.identifier = PAGE_IDENTIFIER; // Replace PAGE_IDENTIFIER with your page's unique identifier variable
+                };
+                */
+                (function() { // DON'T EDIT BELOW THIS LINE
+                var d = document, s = d.createElement('script');
+                s.src = 'https://apache-nemo.disqus.com/embed.js';
+                s.setAttribute('data-timestamp', +new Date());
+                (d.head || d.body).appendChild(s);
+                })();
+            </script>
+            <noscript>Please enable JavaScript to view the <a href="https://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
         </div>
 
     </div>
@@ -700,7 +719,7 @@
         <div class="row">
             <div class="col-sm-11">
                 <p class="text-center">
-                    Nemo 2022 |
+                    Nemo 2023 |
                     Powered by <a href="https://github.com/aksakalli/jekyll-doc-theme">Jekyll Doc Theme</a>
                 </p>
                 <br>
diff --git a/content/docs/compiler_design/index.html b/content/docs/compiler_design/index.html
index 19e4591..e95d56f 100644
--- a/content/docs/compiler_design/index.html
+++ b/content/docs/compiler_design/index.html
@@ -13,7 +13,7 @@
     <link rel="shortcut icon" href="/favicon.ico?1">
     <!-- Begin Jekyll SEO tag v2.8.0 -->
 <title>Compiler Design | Nemo</title>
-<meta name="generator" content="Jekyll v3.9.2" />
+<meta name="generator" content="Jekyll v3.9.3" />
 <meta property="og:title" content="Compiler Design" />
 <meta property="og:locale" content="en_US" />
 <meta name="description" content="Overview" />
@@ -22,11 +22,11 @@
 <meta property="og:url" content="http://nemo.apache.org//docs/compiler_design/" />
 <meta property="og:site_name" content="Nemo" />
 <meta property="og:type" content="article" />
-<meta property="article:published_time" content="2022-11-09T01:04:48+09:00" />
+<meta property="article:published_time" content="2023-05-11T14:14:28+09:00" />
 <meta name="twitter:card" content="summary" />
 <meta property="twitter:title" content="Compiler Design" />
 <script type="application/ld+json">
-{"@context":"https://schema.org","@type":"WebPage","dateModified":"2022-11-09T01:04:48+09:00","datePublished":"2022-11-09T01:04:48+09:00","description":"Overview","headline":"Compiler Design","url":"http://nemo.apache.org//docs/compiler_design/"}</script>
+{"@context":"https://schema.org","@type":"WebPage","dateModified":"2023-05-11T14:14:28+09:00","datePublished":"2023-05-11T14:14:28+09:00","description":"Overview","headline":"Compiler Design","url":"http://nemo.apache.org//docs/compiler_design/"}</script>
 <!-- End Jekyll SEO tag -->
 
 
@@ -66,7 +66,7 @@
                     <li><a href="https://www.apache.org/foundation/how-it-works.html">How Apache Works</a></li>
                     <li><a href="https://www.apache.org/licenses/">License</a></li>
                     <li><a href="https://www.apache.org/security/">Security</a></li>
-                    <li><a href="https://www.apache.org/foundation/policies/privacy.html">Privacy</a></li>
+                    <li><a href="https://privacy.apache.org/policies/privacy-policy-public.html">Privacy</a></li>
                     <li><a href="https://www.apache.org/foundation/sponsorship.html">Sponsoring Apache</a></li>
                     <li><a href="https://www.apache.org/foundation/thanks.html">Thanks</a></li>
                   </ul>
@@ -305,6 +305,25 @@
     <div class="clear"></div>
     
 
+            <div id="disqus_thread"></div>
+            <script>
+                /**
+                *  RECOMMENDED CONFIGURATION VARIABLES: EDIT AND UNCOMMENT THE SECTION BELOW TO INSERT DYNAMIC VALUES FROM YOUR PLATFORM OR CMS.
+                *  LEARN WHY DEFINING THESE VARIABLES IS IMPORTANT: https://disqus.com/admin/universalcode/#configuration-variables    */
+                /*
+                var disqus_config = function () {
+                this.page.url = PAGE_URL;  // Replace PAGE_URL with your page's canonical URL variable
+                this.page.identifier = PAGE_IDENTIFIER; // Replace PAGE_IDENTIFIER with your page's unique identifier variable
+                };
+                */
+                (function() { // DON'T EDIT BELOW THIS LINE
+                var d = document, s = d.createElement('script');
+                s.src = 'https://apache-nemo.disqus.com/embed.js';
+                s.setAttribute('data-timestamp', +new Date());
+                (d.head || d.body).appendChild(s);
+                })();
+            </script>
+            <noscript>Please enable JavaScript to view the <a href="https://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
         </div>
 
     </div>
@@ -318,7 +337,7 @@
         <div class="row">
             <div class="col-sm-11">
                 <p class="text-center">
-                    Nemo 2022 |
+                    Nemo 2023 |
                     Powered by <a href="https://github.com/aksakalli/jekyll-doc-theme">Jekyll Doc Theme</a>
                 </p>
                 <br>
diff --git a/content/docs/contribute/index.html b/content/docs/contribute/index.html
index cca2b0e..587cd90 100644
--- a/content/docs/contribute/index.html
+++ b/content/docs/contribute/index.html
@@ -13,7 +13,7 @@
     <link rel="shortcut icon" href="/favicon.ico?1">
     <!-- Begin Jekyll SEO tag v2.8.0 -->
 <title>Contribute | Nemo</title>
-<meta name="generator" content="Jekyll v3.9.2" />
+<meta name="generator" content="Jekyll v3.9.3" />
 <meta property="og:title" content="Contribute" />
 <meta property="og:locale" content="en_US" />
 <meta name="description" content="Contribute" />
@@ -22,11 +22,11 @@
 <meta property="og:url" content="http://nemo.apache.org//docs/contribute/" />
 <meta property="og:site_name" content="Nemo" />
 <meta property="og:type" content="article" />
-<meta property="article:published_time" content="2022-11-09T01:04:48+09:00" />
+<meta property="article:published_time" content="2023-05-11T14:14:28+09:00" />
 <meta name="twitter:card" content="summary" />
 <meta property="twitter:title" content="Contribute" />
 <script type="application/ld+json">
-{"@context":"https://schema.org","@type":"WebPage","dateModified":"2022-11-09T01:04:48+09:00","datePublished":"2022-11-09T01:04:48+09:00","description":"Contribute","headline":"Contribute","url":"http://nemo.apache.org//docs/contribute/"}</script>
+{"@context":"https://schema.org","@type":"WebPage","dateModified":"2023-05-11T14:14:28+09:00","datePublished":"2023-05-11T14:14:28+09:00","description":"Contribute","headline":"Contribute","url":"http://nemo.apache.org//docs/contribute/"}</script>
 <!-- End Jekyll SEO tag -->
 
 
@@ -66,7 +66,7 @@
                     <li><a href="https://www.apache.org/foundation/how-it-works.html">How Apache Works</a></li>
                     <li><a href="https://www.apache.org/licenses/">License</a></li>
                     <li><a href="https://www.apache.org/security/">Security</a></li>
-                    <li><a href="https://www.apache.org/foundation/policies/privacy.html">Privacy</a></li>
+                    <li><a href="https://privacy.apache.org/policies/privacy-policy-public.html">Privacy</a></li>
                     <li><a href="https://www.apache.org/foundation/sponsorship.html">Sponsoring Apache</a></li>
                     <li><a href="https://www.apache.org/foundation/thanks.html">Thanks</a></li>
                   </ul>
@@ -287,6 +287,25 @@
     <div class="clear"></div>
     
 
+            <div id="disqus_thread"></div>
+            <script>
+                /**
+                *  RECOMMENDED CONFIGURATION VARIABLES: EDIT AND UNCOMMENT THE SECTION BELOW TO INSERT DYNAMIC VALUES FROM YOUR PLATFORM OR CMS.
+                *  LEARN WHY DEFINING THESE VARIABLES IS IMPORTANT: https://disqus.com/admin/universalcode/#configuration-variables    */
+                /*
+                var disqus_config = function () {
+                this.page.url = PAGE_URL;  // Replace PAGE_URL with your page's canonical URL variable
+                this.page.identifier = PAGE_IDENTIFIER; // Replace PAGE_IDENTIFIER with your page's unique identifier variable
+                };
+                */
+                (function() { // DON'T EDIT BELOW THIS LINE
+                var d = document, s = d.createElement('script');
+                s.src = 'https://apache-nemo.disqus.com/embed.js';
+                s.setAttribute('data-timestamp', +new Date());
+                (d.head || d.body).appendChild(s);
+                })();
+            </script>
+            <noscript>Please enable JavaScript to view the <a href="https://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
         </div>
 
     </div>
@@ -300,7 +319,7 @@
         <div class="row">
             <div class="col-sm-11">
                 <p class="text-center">
-                    Nemo 2022 |
+                    Nemo 2023 |
                     Powered by <a href="https://github.com/aksakalli/jekyll-doc-theme">Jekyll Doc Theme</a>
                 </p>
                 <br>
diff --git a/content/docs/extending_nemo/index.html b/content/docs/extending_nemo/index.html
index a6188c8..e8d38a7 100644
--- a/content/docs/extending_nemo/index.html
+++ b/content/docs/extending_nemo/index.html
@@ -13,7 +13,7 @@
     <link rel="shortcut icon" href="/favicon.ico?1">
     <!-- Begin Jekyll SEO tag v2.8.0 -->
 <title>Extending Nemo | Nemo</title>
-<meta name="generator" content="Jekyll v3.9.2" />
+<meta name="generator" content="Jekyll v3.9.3" />
 <meta property="og:title" content="Extending Nemo" />
 <meta property="og:locale" content="en_US" />
 <meta name="description" content="Overview" />
@@ -22,11 +22,11 @@
 <meta property="og:url" content="http://nemo.apache.org//docs/extending_nemo/" />
 <meta property="og:site_name" content="Nemo" />
 <meta property="og:type" content="article" />
-<meta property="article:published_time" content="2022-11-09T01:04:48+09:00" />
+<meta property="article:published_time" content="2023-05-11T14:14:28+09:00" />
 <meta name="twitter:card" content="summary" />
 <meta property="twitter:title" content="Extending Nemo" />
 <script type="application/ld+json">
-{"@context":"https://schema.org","@type":"WebPage","dateModified":"2022-11-09T01:04:48+09:00","datePublished":"2022-11-09T01:04:48+09:00","description":"Overview","headline":"Extending Nemo","url":"http://nemo.apache.org//docs/extending_nemo/"}</script>
+{"@context":"https://schema.org","@type":"WebPage","dateModified":"2023-05-11T14:14:28+09:00","datePublished":"2023-05-11T14:14:28+09:00","description":"Overview","headline":"Extending Nemo","url":"http://nemo.apache.org//docs/extending_nemo/"}</script>
 <!-- End Jekyll SEO tag -->
 
 
@@ -66,7 +66,7 @@
                     <li><a href="https://www.apache.org/foundation/how-it-works.html">How Apache Works</a></li>
                     <li><a href="https://www.apache.org/licenses/">License</a></li>
                     <li><a href="https://www.apache.org/security/">Security</a></li>
-                    <li><a href="https://www.apache.org/foundation/policies/privacy.html">Privacy</a></li>
+                    <li><a href="https://privacy.apache.org/policies/privacy-policy-public.html">Privacy</a></li>
                     <li><a href="https://www.apache.org/foundation/sponsorship.html">Sponsoring Apache</a></li>
                     <li><a href="https://www.apache.org/foundation/thanks.html">Thanks</a></li>
                   </ul>
@@ -260,6 +260,25 @@
   
 
 
+            <div id="disqus_thread"></div>
+            <script>
+                /**
+                *  RECOMMENDED CONFIGURATION VARIABLES: EDIT AND UNCOMMENT THE SECTION BELOW TO INSERT DYNAMIC VALUES FROM YOUR PLATFORM OR CMS.
+                *  LEARN WHY DEFINING THESE VARIABLES IS IMPORTANT: https://disqus.com/admin/universalcode/#configuration-variables    */
+                /*
+                var disqus_config = function () {
+                this.page.url = PAGE_URL;  // Replace PAGE_URL with your page's canonical URL variable
+                this.page.identifier = PAGE_IDENTIFIER; // Replace PAGE_IDENTIFIER with your page's unique identifier variable
+                };
+                */
+                (function() { // DON'T EDIT BELOW THIS LINE
+                var d = document, s = d.createElement('script');
+                s.src = 'https://apache-nemo.disqus.com/embed.js';
+                s.setAttribute('data-timestamp', +new Date());
+                (d.head || d.body).appendChild(s);
+                })();
+            </script>
+            <noscript>Please enable JavaScript to view the <a href="https://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
         </div>
 
     </div>
@@ -273,7 +292,7 @@
         <div class="row">
             <div class="col-sm-11">
                 <p class="text-center">
-                    Nemo 2022 |
+                    Nemo 2023 |
                     Powered by <a href="https://github.com/aksakalli/jekyll-doc-theme">Jekyll Doc Theme</a>
                 </p>
                 <br>
diff --git a/content/docs/font-awesome/index.html b/content/docs/font-awesome/index.html
index 947fb80..948668a 100644
--- a/content/docs/font-awesome/index.html
+++ b/content/docs/font-awesome/index.html
@@ -13,7 +13,7 @@
     <link rel="shortcut icon" href="/favicon.ico?1">
     <!-- Begin Jekyll SEO tag v2.8.0 -->
 <title>Font Awesome Icon List | Nemo</title>
-<meta name="generator" content="Jekyll v3.9.2" />
+<meta name="generator" content="Jekyll v3.9.3" />
 <meta property="og:title" content="Font Awesome Icon List" />
 <meta property="og:locale" content="en_US" />
 <meta name="description" content="500px address-book address-book-o address-card address-card-o adjust adn align-center align-justify align-left align-right amazon ambulance american-sign-language-interpreting anchor android angellist angle-double-down angle-double-left angle-double-right angle-double-up angle-down angle-left angle-right angle-up apple archive area-chart arrow-circle-down arrow-circle-left arrow-circle-o-down arrow-circle-o-left arrow-circle-o-right arrow-circle-o-up arrow-circle-right arrow-circle-up arrow-down arrow-left arrow-right arrow-up arrows arrows-alt arrows-h arrows-v assistive-listening-systems asterisk at audio-description backward balance-scale ban bandcamp bar-chart barcode bars bath battery-empty battery-full battery-half battery-quarter battery-three-quarters bed beer behance behance-square bell bell-o bell-slash bell-slash-o bicycle binoculars birthday-cake bitbucket bitbucket-square black-tie blind bluetooth bluetooth-b bold bolt bomb book bookmark bookmark-o braille briefcase btc bug building building-o bullhorn bullseye bus buysellads calculator calendar calendar-check-o calendar-minus-o calendar-o calendar-plus-o calendar-times-o camera camera-retro car caret-down caret-left caret-right caret-square-o-down caret-square-o-left caret-square-o-right caret-square-o-up caret-up cart-arrow-down cart-plus cc cc-amex cc-diners-club cc-discover cc-jcb cc-mastercard cc-paypal cc-stripe cc-visa certificate chain-broken check check-circle check-circle-o check-square check-square-o chevron-circle-down chevron-circle-left chevron-circle-right chevron-circle-up chevron-down chevron-left chevron-right chevron-up child chrome circle circle-o circle-o-notch circle-thin clipboard clock-o clone cloud cloud-download cloud-upload code code-fork codepen codiepie coffee cog cogs columns comment comment-o commenting commenting-o comments comments-o compass compress connectdevelop contao copyright creative-commons credit-card credit-card-alt crop crosshairs css3 cube cubes cutlery dashcube database deaf delicious desktop deviantart diamond digg dot-circle-o download dribbble dropbox drupal edge eercast eject ellipsis-h ellipsis-v empire envelope envelope-o envelope-open envelope-open-o envelope-square envira eraser etsy eur exchange exclamation exclamation-circle exclamation-triangle expand expeditedssl external-link external-link-square eye eye-slash eyedropper facebook facebook-official facebook-square fast-backward fast-forward fax female fighter-jet file file-archive-o file-audio-o file-code-o file-excel-o file-image-o file-o file-pdf-o file-powerpoint-o file-text file-text-o file-video-o file-word-o files-o film filter fire fire-extinguisher firefox first-order flag flag-checkered flag-o flask flickr floppy-o folder folder-o folder-open folder-open-o font font-awesome fonticons fort-awesome forumbee forward foursquare free-code-camp frown-o futbol-o gamepad gavel gbp genderless get-pocket gg gg-circle gift git git-square github github-alt github-square gitlab glass glide glide-g globe google google-plus google-plus-official google-plus-square google-wallet graduation-cap gratipay grav h-square hacker-news hand-lizard-o hand-o-down hand-o-left hand-o-right hand-o-up hand-paper-o hand-peace-o hand-pointer-o hand-rock-o hand-scissors-o hand-spock-o handshake-o hashtag hdd-o header headphones heart heart-o heartbeat history home hospital-o hourglass hourglass-end hourglass-half hourglass-o hourglass-start houzz html5 i-cursor id-badge id-card id-card-o ils imdb inbox indent industry info info-circle inr instagram internet-explorer ioxhost italic joomla jpy jsfiddle key keyboard-o krw language laptop lastfm lastfm-square leaf leanpub lemon-o level-down level-up life-ring lightbulb-o line-chart link linkedin linkedin-square linode linux list list-alt list-ol list-ul location-arrow lock long-arrow-down long-arrow-left long-arrow-right long-arrow-up low-vision magic magnet male map map-marker map-o map-pin map-signs mars mars-double mars-stroke mars-stroke-h mars-stroke-v maxcdn meanpath medium medkit meetup meh-o mercury microchip microphone microphone-slash minus minus-circle minus-square minus-square-o mixcloud mobile modx money moon-o motorcycle mouse-pointer music neuter newspaper-o object-group object-ungroup odnoklassniki odnoklassniki-square opencart openid opera optin-monster outdent pagelines paint-brush paper-plane paper-plane-o paperclip paragraph pause pause-circle pause-circle-o paw paypal pencil pencil-square pencil-square-o percent phone phone-square picture-o pie-chart pied-piper pied-piper-alt pied-piper-pp pinterest pinterest-p pinterest-square plane play play-circle play-circle-o plug plus plus-circle plus-square plus-square-o podcast power-off print product-hunt puzzle-piece qq qrcode question question-circle question-circle-o quora quote-left quote-right random ravelry rebel recycle reddit reddit-alien reddit-square refresh registered renren repeat reply reply-all retweet road rocket rss rss-square rub safari scissors scribd search search-minus search-plus sellsy server share share-alt share-alt-square share-square share-square-o shield ship shirtsinbulk shopping-bag shopping-basket shopping-cart shower sign-in sign-language sign-out signal simplybuilt sitemap skyatlas skype slack sliders slideshare smile-o snapchat snapchat-ghost snapchat-square snowflake-o sort sort-alpha-asc sort-alpha-desc sort-amount-asc sort-amount-desc sort-asc sort-desc sort-numeric-asc sort-numeric-desc soundcloud space-shuttle spinner spoon spotify square square-o stack-exchange stack-overflow star star-half star-half-o star-o steam steam-square step-backward step-forward stethoscope sticky-note sticky-note-o stop stop-circle stop-circle-o street-view strikethrough stumbleupon stumbleupon-circle subscript subway suitcase sun-o superpowers superscript table tablet tachometer tag tags tasks taxi telegram television tencent-weibo terminal text-height text-width th th-large th-list themeisle thermometer-empty thermometer-full thermometer-half thermometer-quarter thermometer-three-quarters thumb-tack thumbs-down thumbs-o-down thumbs-o-up thumbs-up ticket times times-circle times-circle-o tint toggle-off toggle-on trademark train transgender transgender-alt trash trash-o tree trello tripadvisor trophy truck try tty tumblr tumblr-square twitch twitter twitter-square umbrella underline undo universal-access university unlock unlock-alt upload usb usd user user-circle user-circle-o user-md user-o user-plus user-secret user-times users venus venus-double venus-mars viacoin viadeo viadeo-square video-camera vimeo vimeo-square vine vk volume-control-phone volume-down volume-off volume-up weibo weixin whatsapp wheelchair wheelchair-alt wifi wikipedia-w window-close window-close-o window-maximize window-minimize window-restore windows wordpress wpbeginner wpexplorer wpforms wrench xing xing-square y-combinator yahoo yelp yoast youtube youtube-play youtube-square" />
@@ -22,11 +22,11 @@
 <meta property="og:url" content="http://nemo.apache.org//docs/font-awesome/" />
 <meta property="og:site_name" content="Nemo" />
 <meta property="og:type" content="article" />
-<meta property="article:published_time" content="2022-11-09T01:04:48+09:00" />
+<meta property="article:published_time" content="2023-05-11T14:14:28+09:00" />
 <meta name="twitter:card" content="summary" />
 <meta property="twitter:title" content="Font Awesome Icon List" />
 <script type="application/ld+json">
-{"@context":"https://schema.org","@type":"WebPage","dateModified":"2022-11-09T01:04:48+09:00","datePublished":"2022-11-09T01:04:48+09:00","description":"500px address-book address-book-o address-card address-card-o adjust adn align-center align-justify align-left align-right amazon ambulance american-sign-language-interpreting anchor android angellist angle-double-down angle-double-left angle-double-right angle-double-up angle-down angle-left angle-right angle-up apple archive area-chart arrow-circle-down arrow-circle-left arrow-circle-o-down arrow-circle-o-left arrow-circle-o-right arrow-circle-o-up arrow-circle-right arrow-circle-up arrow-down arrow-left arrow-right arrow-up arrows arrows-alt arrows-h arrows-v assistive-listening-systems asterisk at audio-description backward balance-scale ban bandcamp bar-chart barcode bars bath battery-empty battery-full battery-half battery-quarter battery-three-quarters bed beer behance behance-square bell bell-o bell-slash bell-slash-o bicycle binoculars birthday-cake bitbucket bitbucket-square black-tie blind bluetooth bluetooth-b bold bolt bomb book bookmark bookmark-o braille briefcase btc bug building building-o bullhorn bullseye bus buysellads calculator calendar calendar-check-o calendar-minus-o calendar-o calendar-plus-o calendar-times-o camera camera-retro car caret-down caret-left caret-right caret-square-o-down caret-square-o-left caret-square-o-right caret-square-o-up caret-up cart-arrow-down cart-plus cc cc-amex cc-diners-club cc-discover cc-jcb cc-mastercard cc-paypal cc-stripe cc-visa certificate chain-broken check check-circle check-circle-o check-square check-square-o chevron-circle-down chevron-circle-left chevron-circle-right chevron-circle-up chevron-down chevron-left chevron-right chevron-up child chrome circle circle-o circle-o-notch circle-thin clipboard clock-o clone cloud cloud-download cloud-upload code code-fork codepen codiepie coffee cog cogs columns comment comment-o commenting commenting-o comments comments-o compass compress connectdevelop contao copyright creative-commons credit-card credit-card-alt crop crosshairs css3 cube cubes cutlery dashcube database deaf delicious desktop deviantart diamond digg dot-circle-o download dribbble dropbox drupal edge eercast eject ellipsis-h ellipsis-v empire envelope envelope-o envelope-open envelope-open-o envelope-square envira eraser etsy eur exchange exclamation exclamation-circle exclamation-triangle expand expeditedssl external-link external-link-square eye eye-slash eyedropper facebook facebook-official facebook-square fast-backward fast-forward fax female fighter-jet file file-archive-o file-audio-o file-code-o file-excel-o file-image-o file-o file-pdf-o file-powerpoint-o file-text file-text-o file-video-o file-word-o files-o film filter fire fire-extinguisher firefox first-order flag flag-checkered flag-o flask flickr floppy-o folder folder-o folder-open folder-open-o font font-awesome fonticons fort-awesome forumbee forward foursquare free-code-camp frown-o futbol-o gamepad gavel gbp genderless get-pocket gg gg-circle gift git git-square github github-alt github-square gitlab glass glide glide-g globe google google-plus google-plus-official google-plus-square google-wallet graduation-cap gratipay grav h-square hacker-news hand-lizard-o hand-o-down hand-o-left hand-o-right hand-o-up hand-paper-o hand-peace-o hand-pointer-o hand-rock-o hand-scissors-o hand-spock-o handshake-o hashtag hdd-o header headphones heart heart-o heartbeat history home hospital-o hourglass hourglass-end hourglass-half hourglass-o hourglass-start houzz html5 i-cursor id-badge id-card id-card-o ils imdb inbox indent industry info info-circle inr instagram internet-explorer ioxhost italic joomla jpy jsfiddle key keyboard-o krw language laptop lastfm lastfm-square leaf leanpub lemon-o level-down level-up life-ring lightbulb-o line-chart link linkedin linkedin-square linode linux list list-alt list-ol list-ul location-arrow lock long-arrow-down long-arrow-left long-arrow-right long-arrow-up low-vision magic magnet male map map-marker map-o map-pin map-signs mars mars-double mars-stroke mars-stroke-h mars-stroke-v maxcdn meanpath medium medkit meetup meh-o mercury microchip microphone microphone-slash minus minus-circle minus-square minus-square-o mixcloud mobile modx money moon-o motorcycle mouse-pointer music neuter newspaper-o object-group object-ungroup odnoklassniki odnoklassniki-square opencart openid opera optin-monster outdent pagelines paint-brush paper-plane paper-plane-o paperclip paragraph pause pause-circle pause-circle-o paw paypal pencil pencil-square pencil-square-o percent phone phone-square picture-o pie-chart pied-piper pied-piper-alt pied-piper-pp pinterest pinterest-p pinterest-square plane play play-circle play-circle-o plug plus plus-circle plus-square plus-square-o podcast power-off print product-hunt puzzle-piece qq qrcode question question-circle question-circle-o quora quote-left quote-right random ravelry rebel recycle reddit reddit-alien reddit-square refresh registered renren repeat reply reply-all retweet road rocket rss rss-square rub safari scissors scribd search search-minus search-plus sellsy server share share-alt share-alt-square share-square share-square-o shield ship shirtsinbulk shopping-bag shopping-basket shopping-cart shower sign-in sign-language sign-out signal simplybuilt sitemap skyatlas skype slack sliders slideshare smile-o snapchat snapchat-ghost snapchat-square snowflake-o sort sort-alpha-asc sort-alpha-desc sort-amount-asc sort-amount-desc sort-asc sort-desc sort-numeric-asc sort-numeric-desc soundcloud space-shuttle spinner spoon spotify square square-o stack-exchange stack-overflow star star-half star-half-o star-o steam steam-square step-backward step-forward stethoscope sticky-note sticky-note-o stop stop-circle stop-circle-o street-view strikethrough stumbleupon stumbleupon-circle subscript subway suitcase sun-o superpowers superscript table tablet tachometer tag tags tasks taxi telegram television tencent-weibo terminal text-height text-width th th-large th-list themeisle thermometer-empty thermometer-full thermometer-half thermometer-quarter thermometer-three-quarters thumb-tack thumbs-down thumbs-o-down thumbs-o-up thumbs-up ticket times times-circle times-circle-o tint toggle-off toggle-on trademark train transgender transgender-alt trash trash-o tree trello tripadvisor trophy truck try tty tumblr tumblr-square twitch twitter twitter-square umbrella underline undo universal-access university unlock unlock-alt upload usb usd user user-circle user-circle-o user-md user-o user-plus user-secret user-times users venus venus-double venus-mars viacoin viadeo viadeo-square video-camera vimeo vimeo-square vine vk volume-control-phone volume-down volume-off volume-up weibo weixin whatsapp wheelchair wheelchair-alt wifi wikipedia-w window-close window-close-o window-maximize window-minimize window-restore windows wordpress wpbeginner wpexplorer wpforms wrench xing xing-square y-combinator yahoo yelp yoast youtube youtube-play youtube-square","headline":"Font Awesome Icon List","url":"http://nemo.apache.org//docs/font-awesome/"}</script>
+{"@context":"https://schema.org","@type":"WebPage","dateModified":"2023-05-11T14:14:28+09:00","datePublished":"2023-05-11T14:14:28+09:00","description":"500px address-book address-book-o address-card address-card-o adjust adn align-center align-justify align-left align-right amazon ambulance american-sign-language-interpreting anchor android angellist angle-double-down angle-double-left angle-double-right angle-double-up angle-down angle-left angle-right angle-up apple archive area-chart arrow-circle-down arrow-circle-left arrow-circle-o-down arrow-circle-o-left arrow-circle-o-right arrow-circle-o-up arrow-circle-right arrow-circle-up arrow-down arrow-left arrow-right arrow-up arrows arrows-alt arrows-h arrows-v assistive-listening-systems asterisk at audio-description backward balance-scale ban bandcamp bar-chart barcode bars bath battery-empty battery-full battery-half battery-quarter battery-three-quarters bed beer behance behance-square bell bell-o bell-slash bell-slash-o bicycle binoculars birthday-cake bitbucket bitbucket-square black-tie blind bluetooth bluetooth-b bold bolt bomb book bookmark bookmark-o braille briefcase btc bug building building-o bullhorn bullseye bus buysellads calculator calendar calendar-check-o calendar-minus-o calendar-o calendar-plus-o calendar-times-o camera camera-retro car caret-down caret-left caret-right caret-square-o-down caret-square-o-left caret-square-o-right caret-square-o-up caret-up cart-arrow-down cart-plus cc cc-amex cc-diners-club cc-discover cc-jcb cc-mastercard cc-paypal cc-stripe cc-visa certificate chain-broken check check-circle check-circle-o check-square check-square-o chevron-circle-down chevron-circle-left chevron-circle-right chevron-circle-up chevron-down chevron-left chevron-right chevron-up child chrome circle circle-o circle-o-notch circle-thin clipboard clock-o clone cloud cloud-download cloud-upload code code-fork codepen codiepie coffee cog cogs columns comment comment-o commenting commenting-o comments comments-o compass compress connectdevelop contao copyright creative-commons credit-card credit-card-alt crop crosshairs css3 cube cubes cutlery dashcube database deaf delicious desktop deviantart diamond digg dot-circle-o download dribbble dropbox drupal edge eercast eject ellipsis-h ellipsis-v empire envelope envelope-o envelope-open envelope-open-o envelope-square envira eraser etsy eur exchange exclamation exclamation-circle exclamation-triangle expand expeditedssl external-link external-link-square eye eye-slash eyedropper facebook facebook-official facebook-square fast-backward fast-forward fax female fighter-jet file file-archive-o file-audio-o file-code-o file-excel-o file-image-o file-o file-pdf-o file-powerpoint-o file-text file-text-o file-video-o file-word-o files-o film filter fire fire-extinguisher firefox first-order flag flag-checkered flag-o flask flickr floppy-o folder folder-o folder-open folder-open-o font font-awesome fonticons fort-awesome forumbee forward foursquare free-code-camp frown-o futbol-o gamepad gavel gbp genderless get-pocket gg gg-circle gift git git-square github github-alt github-square gitlab glass glide glide-g globe google google-plus google-plus-official google-plus-square google-wallet graduation-cap gratipay grav h-square hacker-news hand-lizard-o hand-o-down hand-o-left hand-o-right hand-o-up hand-paper-o hand-peace-o hand-pointer-o hand-rock-o hand-scissors-o hand-spock-o handshake-o hashtag hdd-o header headphones heart heart-o heartbeat history home hospital-o hourglass hourglass-end hourglass-half hourglass-o hourglass-start houzz html5 i-cursor id-badge id-card id-card-o ils imdb inbox indent industry info info-circle inr instagram internet-explorer ioxhost italic joomla jpy jsfiddle key keyboard-o krw language laptop lastfm lastfm-square leaf leanpub lemon-o level-down level-up life-ring lightbulb-o line-chart link linkedin linkedin-square linode linux list list-alt list-ol list-ul location-arrow lock long-arrow-down long-arrow-left long-arrow-right long-arrow-up low-vision magic magnet male map map-marker map-o map-pin map-signs mars mars-double mars-stroke mars-stroke-h mars-stroke-v maxcdn meanpath medium medkit meetup meh-o mercury microchip microphone microphone-slash minus minus-circle minus-square minus-square-o mixcloud mobile modx money moon-o motorcycle mouse-pointer music neuter newspaper-o object-group object-ungroup odnoklassniki odnoklassniki-square opencart openid opera optin-monster outdent pagelines paint-brush paper-plane paper-plane-o paperclip paragraph pause pause-circle pause-circle-o paw paypal pencil pencil-square pencil-square-o percent phone phone-square picture-o pie-chart pied-piper pied-piper-alt pied-piper-pp pinterest pinterest-p pinterest-square plane play play-circle play-circle-o plug plus plus-circle plus-square plus-square-o podcast power-off print product-hunt puzzle-piece qq qrcode question question-circle question-circle-o quora quote-left quote-right random ravelry rebel recycle reddit reddit-alien reddit-square refresh registered renren repeat reply reply-all retweet road rocket rss rss-square rub safari scissors scribd search search-minus search-plus sellsy server share share-alt share-alt-square share-square share-square-o shield ship shirtsinbulk shopping-bag shopping-basket shopping-cart shower sign-in sign-language sign-out signal simplybuilt sitemap skyatlas skype slack sliders slideshare smile-o snapchat snapchat-ghost snapchat-square snowflake-o sort sort-alpha-asc sort-alpha-desc sort-amount-asc sort-amount-desc sort-asc sort-desc sort-numeric-asc sort-numeric-desc soundcloud space-shuttle spinner spoon spotify square square-o stack-exchange stack-overflow star star-half star-half-o star-o steam steam-square step-backward step-forward stethoscope sticky-note sticky-note-o stop stop-circle stop-circle-o street-view strikethrough stumbleupon stumbleupon-circle subscript subway suitcase sun-o superpowers superscript table tablet tachometer tag tags tasks taxi telegram television tencent-weibo terminal text-height text-width th th-large th-list themeisle thermometer-empty thermometer-full thermometer-half thermometer-quarter thermometer-three-quarters thumb-tack thumbs-down thumbs-o-down thumbs-o-up thumbs-up ticket times times-circle times-circle-o tint toggle-off toggle-on trademark train transgender transgender-alt trash trash-o tree trello tripadvisor trophy truck try tty tumblr tumblr-square twitch twitter twitter-square umbrella underline undo universal-access university unlock unlock-alt upload usb usd user user-circle user-circle-o user-md user-o user-plus user-secret user-times users venus venus-double venus-mars viacoin viadeo viadeo-square video-camera vimeo vimeo-square vine vk volume-control-phone volume-down volume-off volume-up weibo weixin whatsapp wheelchair wheelchair-alt wifi wikipedia-w window-close window-close-o window-maximize window-minimize window-restore windows wordpress wpbeginner wpexplorer wpforms wrench xing xing-square y-combinator yahoo yelp yoast youtube youtube-play youtube-square","headline":"Font Awesome Icon List","url":"http://nemo.apache.org//docs/font-awesome/"}</script>
 <!-- End Jekyll SEO tag -->
 
 
@@ -66,7 +66,7 @@
                     <li><a href="https://www.apache.org/foundation/how-it-works.html">How Apache Works</a></li>
                     <li><a href="https://www.apache.org/licenses/">License</a></li>
                     <li><a href="https://www.apache.org/security/">Security</a></li>
-                    <li><a href="https://www.apache.org/foundation/policies/privacy.html">Privacy</a></li>
+                    <li><a href="https://privacy.apache.org/policies/privacy-policy-public.html">Privacy</a></li>
                     <li><a href="https://www.apache.org/foundation/sponsorship.html">Sponsoring Apache</a></li>
                     <li><a href="https://www.apache.org/foundation/thanks.html">Thanks</a></li>
                   </ul>
@@ -934,6 +934,25 @@
   
 
 
+            <div id="disqus_thread"></div>
+            <script>
+                /**
+                *  RECOMMENDED CONFIGURATION VARIABLES: EDIT AND UNCOMMENT THE SECTION BELOW TO INSERT DYNAMIC VALUES FROM YOUR PLATFORM OR CMS.
+                *  LEARN WHY DEFINING THESE VARIABLES IS IMPORTANT: https://disqus.com/admin/universalcode/#configuration-variables    */
+                /*
+                var disqus_config = function () {
+                this.page.url = PAGE_URL;  // Replace PAGE_URL with your page's canonical URL variable
+                this.page.identifier = PAGE_IDENTIFIER; // Replace PAGE_IDENTIFIER with your page's unique identifier variable
+                };
+                */
+                (function() { // DON'T EDIT BELOW THIS LINE
+                var d = document, s = d.createElement('script');
+                s.src = 'https://apache-nemo.disqus.com/embed.js';
+                s.setAttribute('data-timestamp', +new Date());
+                (d.head || d.body).appendChild(s);
+                })();
+            </script>
+            <noscript>Please enable JavaScript to view the <a href="https://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
         </div>
 
     </div>
@@ -947,7 +966,7 @@
         <div class="row">
             <div class="col-sm-11">
                 <p class="text-center">
-                    Nemo 2022 |
+                    Nemo 2023 |
                     Powered by <a href="https://github.com/aksakalli/jekyll-doc-theme">Jekyll Doc Theme</a>
                 </p>
                 <br>
diff --git a/content/docs/getting_started/index.html b/content/docs/getting_started/index.html
index e77b2df..0bbcf0c 100644
--- a/content/docs/getting_started/index.html
+++ b/content/docs/getting_started/index.html
@@ -13,7 +13,7 @@
     <link rel="shortcut icon" href="/favicon.ico?1">
     <!-- Begin Jekyll SEO tag v2.8.0 -->
 <title>Getting Started | Nemo</title>
-<meta name="generator" content="Jekyll v3.9.2" />
+<meta name="generator" content="Jekyll v3.9.3" />
 <meta property="og:title" content="Getting Started" />
 <meta property="og:locale" content="en_US" />
 <meta name="description" content="Nemo" />
@@ -22,11 +22,11 @@
 <meta property="og:url" content="http://nemo.apache.org//docs/getting_started/" />
 <meta property="og:site_name" content="Nemo" />
 <meta property="og:type" content="article" />
-<meta property="article:published_time" content="2022-11-09T01:04:48+09:00" />
+<meta property="article:published_time" content="2023-05-11T14:14:28+09:00" />
 <meta name="twitter:card" content="summary" />
 <meta property="twitter:title" content="Getting Started" />
 <script type="application/ld+json">
-{"@context":"https://schema.org","@type":"WebPage","dateModified":"2022-11-09T01:04:48+09:00","datePublished":"2022-11-09T01:04:48+09:00","description":"Nemo","headline":"Getting Started","url":"http://nemo.apache.org//docs/getting_started/"}</script>
+{"@context":"https://schema.org","@type":"WebPage","dateModified":"2023-05-11T14:14:28+09:00","datePublished":"2023-05-11T14:14:28+09:00","description":"Nemo","headline":"Getting Started","url":"http://nemo.apache.org//docs/getting_started/"}</script>
 <!-- End Jekyll SEO tag -->
 
 
@@ -66,7 +66,7 @@
                     <li><a href="https://www.apache.org/foundation/how-it-works.html">How Apache Works</a></li>
                     <li><a href="https://www.apache.org/licenses/">License</a></li>
                     <li><a href="https://www.apache.org/security/">Security</a></li>
-                    <li><a href="https://www.apache.org/foundation/policies/privacy.html">Privacy</a></li>
+                    <li><a href="https://privacy.apache.org/policies/privacy-policy-public.html">Privacy</a></li>
                     <li><a href="https://www.apache.org/foundation/sponsorship.html">Sponsoring Apache</a></li>
                     <li><a href="https://www.apache.org/foundation/thanks.html">Thanks</a></li>
                   </ul>
@@ -220,8 +220,8 @@
             <h1>Getting Started</h1>
             <div id="markdown-content-container"><h1 id="nemo">Nemo</h1>
 
-<p><a href="https://travis-ci.org/apache/incubator-nemo"><img src="https://travis-ci.org/apache/incubator-nemo.svg?branch=master" alt="Build Status" /></a>
-<a href="https://sonarcloud.io/dashboard?id=org.apache.nemo%3Anemo-project"><img src="https://sonarcloud.io/api/project_badges/measure?project=org.apache.nemo%3Anemo-project&amp;metric=alert_status" alt="Quality Gate Status" /></a></p>
+<p><a href="https://github.com/apache/incubator-nemo/actions/workflows/maven.yml"><img src="https://github.com/apache/incubator-nemo/actions/workflows/maven.yml/badge.svg" alt="Java CI with Maven" /></a>
+<a href="https://github.com/apache/incubator-nemo/actions/workflows/node.js.yml"><img src="https://github.com/apache/incubator-nemo/actions/workflows/node.js.yml/badge.svg" alt="Node.js CI" /></a></p>
 
 <p>A Data Processing System for Flexible Employment With Different Deployment Characteristics.</p>
 
@@ -238,6 +238,10 @@
 
 <h2 id="nemo-prerequisites-and-setup">Nemo prerequisites and setup</h2>
 
+<h3 id="simple-installation">Simple installation</h3>
+
+<p>Run <code class="language-plaintext highlighter-rouge">$ ./bin/install_nemo.sh</code> on the Nemo home directory. This script includes the actions described below.</p>
+
 <h3 id="prerequisites">Prerequisites</h3>
 <ul>
   <li>Java 8 or later (tested on Java 8 and Java 11)</li>
@@ -355,7 +359,7 @@
     <span class="nt">-user_main</span> org.apache.beam.sdk.nexmark.Main <span class="se">\</span>
     <span class="nt">-optimization_policy</span> org.apache.nemo.compiler.optimizer.policy.StreamingPolicy <span class="se">\</span>
     <span class="nt">-scheduler_impl_class_name</span> org.apache.nemo.runtime.master.scheduler.StreamingScheduler <span class="se">\</span>
-    <span class="nt">-user_args</span> <span class="s2">"--runner=NemoRunner --streaming=true --query=0 --numEventGenerators=1"</span>
+    <span class="nt">-user_args</span> <span class="s2">"--runner=NemoRunner --streaming=true --query=0 --numEventGenerators=1 --manageResources=false --monitorJobs=false"</span>
 
 </code></pre></div></div>
 <h2 id="resource-configuration">Resource Configuration</h2>
@@ -447,7 +451,6 @@
   <li>To exclude Beam related packages: mvn clean install -T 2C -DskipTests -pl \!compiler/frontend/beam,\!examples/beam</li>
   <li>To exclude NEXMark related packages: mvn clean install -T 2C -DskipTests -pl \!examples/nexmark</li>
 </ul>
-
 </div>
             <div style="clear:both;">
               <p class="text-center">
@@ -493,6 +496,25 @@
     <div class="clear"></div>
     
 
+            <div id="disqus_thread"></div>
+            <script>
+                /**
+                *  RECOMMENDED CONFIGURATION VARIABLES: EDIT AND UNCOMMENT THE SECTION BELOW TO INSERT DYNAMIC VALUES FROM YOUR PLATFORM OR CMS.
+                *  LEARN WHY DEFINING THESE VARIABLES IS IMPORTANT: https://disqus.com/admin/universalcode/#configuration-variables    */
+                /*
+                var disqus_config = function () {
+                this.page.url = PAGE_URL;  // Replace PAGE_URL with your page's canonical URL variable
+                this.page.identifier = PAGE_IDENTIFIER; // Replace PAGE_IDENTIFIER with your page's unique identifier variable
+                };
+                */
+                (function() { // DON'T EDIT BELOW THIS LINE
+                var d = document, s = d.createElement('script');
+                s.src = 'https://apache-nemo.disqus.com/embed.js';
+                s.setAttribute('data-timestamp', +new Date());
+                (d.head || d.body).appendChild(s);
+                })();
+            </script>
+            <noscript>Please enable JavaScript to view the <a href="https://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
         </div>
 
     </div>
@@ -506,7 +528,7 @@
         <div class="row">
             <div class="col-sm-11">
                 <p class="text-center">
-                    Nemo 2022 |
+                    Nemo 2023 |
                     Powered by <a href="https://github.com/aksakalli/jekyll-doc-theme">Jekyll Doc Theme</a>
                 </p>
                 <br>
diff --git a/content/docs/home/index.html b/content/docs/home/index.html
index d389423..bdfb4b1 100644
--- a/content/docs/home/index.html
+++ b/content/docs/home/index.html
@@ -13,7 +13,7 @@
     <link rel="shortcut icon" href="/favicon.ico?1">
     <!-- Begin Jekyll SEO tag v2.8.0 -->
 <title>Overview | Nemo</title>
-<meta name="generator" content="Jekyll v3.9.2" />
+<meta name="generator" content="Jekyll v3.9.3" />
 <meta property="og:title" content="Overview" />
 <meta property="og:locale" content="en_US" />
 <meta name="description" content="Nemo aims to optimize data processing for better performance and datacenter efficiency, not only in general and common conditions, but also with various deployment characteristics. Such characteristics include processing data on specific resource environments, like transient resources, and running jobs with specific attributes, like skewed data." />
@@ -22,11 +22,11 @@
 <meta property="og:url" content="http://nemo.apache.org//docs/home/" />
 <meta property="og:site_name" content="Nemo" />
 <meta property="og:type" content="article" />
-<meta property="article:published_time" content="2022-11-09T01:04:48+09:00" />
+<meta property="article:published_time" content="2023-05-11T14:14:28+09:00" />
 <meta name="twitter:card" content="summary" />
 <meta property="twitter:title" content="Overview" />
 <script type="application/ld+json">
-{"@context":"https://schema.org","@type":"WebPage","dateModified":"2022-11-09T01:04:48+09:00","datePublished":"2022-11-09T01:04:48+09:00","description":"Nemo aims to optimize data processing for better performance and datacenter efficiency, not only in general and common conditions, but also with various deployment characteristics. Such characteristics include processing data on specific resource environments, like transient resources, and running jobs with specific attributes, like skewed data.","headline":"Overview","url":"http://nemo.apache.org//docs/home/"}</script>
+{"@context":"https://schema.org","@type":"WebPage","dateModified":"2023-05-11T14:14:28+09:00","datePublished":"2023-05-11T14:14:28+09:00","description":"Nemo aims to optimize data processing for better performance and datacenter efficiency, not only in general and common conditions, but also with various deployment characteristics. Such characteristics include processing data on specific resource environments, like transient resources, and running jobs with specific attributes, like skewed data.","headline":"Overview","url":"http://nemo.apache.org//docs/home/"}</script>
 <!-- End Jekyll SEO tag -->
 
 
@@ -66,7 +66,7 @@
                     <li><a href="https://www.apache.org/foundation/how-it-works.html">How Apache Works</a></li>
                     <li><a href="https://www.apache.org/licenses/">License</a></li>
                     <li><a href="https://www.apache.org/security/">Security</a></li>
-                    <li><a href="https://www.apache.org/foundation/policies/privacy.html">Privacy</a></li>
+                    <li><a href="https://privacy.apache.org/policies/privacy-policy-public.html">Privacy</a></li>
                     <li><a href="https://www.apache.org/foundation/sponsorship.html">Sponsoring Apache</a></li>
                     <li><a href="https://www.apache.org/foundation/thanks.html">Thanks</a></li>
                   </ul>
@@ -229,6 +229,8 @@
 These layers can be easily modified through a set of high-level <a href="../passes_and_policies">graph pass</a> interfaces, exposed by the <a href="../compiler_design">Nemo Compiler</a>, enabling users to flexibly modify <em>runtime behaviors</em> at both compile-time and runtime.
 Works represented this way can be executed by the <a href="../runtime_design">Nemo Execution Runtime</a> through its <a href="../extending_Nemo">modular and extensible</a> design.</p>
 
+<p><img src="/assets/img/overview.jpg" alt="image" /></p>
+
 <p>If you want to contribute, please refer to the <a href="../contribute">contribute</a> page. Otherwise, hit the button below to get started with Nemo!</p>
 
 <p><br /></p>
@@ -275,6 +277,25 @@
     <div class="clear"></div>
     
 
+            <div id="disqus_thread"></div>
+            <script>
+                /**
+                *  RECOMMENDED CONFIGURATION VARIABLES: EDIT AND UNCOMMENT THE SECTION BELOW TO INSERT DYNAMIC VALUES FROM YOUR PLATFORM OR CMS.
+                *  LEARN WHY DEFINING THESE VARIABLES IS IMPORTANT: https://disqus.com/admin/universalcode/#configuration-variables    */
+                /*
+                var disqus_config = function () {
+                this.page.url = PAGE_URL;  // Replace PAGE_URL with your page's canonical URL variable
+                this.page.identifier = PAGE_IDENTIFIER; // Replace PAGE_IDENTIFIER with your page's unique identifier variable
+                };
+                */
+                (function() { // DON'T EDIT BELOW THIS LINE
+                var d = document, s = d.createElement('script');
+                s.src = 'https://apache-nemo.disqus.com/embed.js';
+                s.setAttribute('data-timestamp', +new Date());
+                (d.head || d.body).appendChild(s);
+                })();
+            </script>
+            <noscript>Please enable JavaScript to view the <a href="https://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
         </div>
 
     </div>
@@ -288,7 +309,7 @@
         <div class="row">
             <div class="col-sm-11">
                 <p class="text-center">
-                    Nemo 2022 |
+                    Nemo 2023 |
                     Powered by <a href="https://github.com/aksakalli/jekyll-doc-theme">Jekyll Doc Theme</a>
                 </p>
                 <br>
diff --git a/content/docs/ir/index.html b/content/docs/ir/index.html
index bb1c863..7bf9cad 100644
--- a/content/docs/ir/index.html
+++ b/content/docs/ir/index.html
@@ -13,7 +13,7 @@
     <link rel="shortcut icon" href="/favicon.ico?1">
     <!-- Begin Jekyll SEO tag v2.8.0 -->
 <title>Nemo Intermediate Representation (IR) | Nemo</title>
-<meta name="generator" content="Jekyll v3.9.2" />
+<meta name="generator" content="Jekyll v3.9.3" />
 <meta property="og:title" content="Nemo Intermediate Representation (IR)" />
 <meta property="og:locale" content="en_US" />
 <meta name="description" content="Overview" />
@@ -22,11 +22,11 @@
 <meta property="og:url" content="http://nemo.apache.org//docs/ir/" />
 <meta property="og:site_name" content="Nemo" />
 <meta property="og:type" content="article" />
-<meta property="article:published_time" content="2022-11-09T01:04:48+09:00" />
+<meta property="article:published_time" content="2023-05-11T14:14:28+09:00" />
 <meta name="twitter:card" content="summary" />
 <meta property="twitter:title" content="Nemo Intermediate Representation (IR)" />
 <script type="application/ld+json">
-{"@context":"https://schema.org","@type":"WebPage","dateModified":"2022-11-09T01:04:48+09:00","datePublished":"2022-11-09T01:04:48+09:00","description":"Overview","headline":"Nemo Intermediate Representation (IR)","url":"http://nemo.apache.org//docs/ir/"}</script>
+{"@context":"https://schema.org","@type":"WebPage","dateModified":"2023-05-11T14:14:28+09:00","datePublished":"2023-05-11T14:14:28+09:00","description":"Overview","headline":"Nemo Intermediate Representation (IR)","url":"http://nemo.apache.org//docs/ir/"}</script>
 <!-- End Jekyll SEO tag -->
 
 
@@ -66,7 +66,7 @@
                     <li><a href="https://www.apache.org/foundation/how-it-works.html">How Apache Works</a></li>
                     <li><a href="https://www.apache.org/licenses/">License</a></li>
                     <li><a href="https://www.apache.org/security/">Security</a></li>
-                    <li><a href="https://www.apache.org/foundation/policies/privacy.html">Privacy</a></li>
+                    <li><a href="https://privacy.apache.org/policies/privacy-policy-public.html">Privacy</a></li>
                     <li><a href="https://www.apache.org/foundation/sponsorship.html">Sponsoring Apache</a></li>
                     <li><a href="https://www.apache.org/foundation/thanks.html">Thanks</a></li>
                   </ul>
@@ -292,6 +292,25 @@
     <div class="clear"></div>
     
 
+            <div id="disqus_thread"></div>
+            <script>
+                /**
+                *  RECOMMENDED CONFIGURATION VARIABLES: EDIT AND UNCOMMENT THE SECTION BELOW TO INSERT DYNAMIC VALUES FROM YOUR PLATFORM OR CMS.
+                *  LEARN WHY DEFINING THESE VARIABLES IS IMPORTANT: https://disqus.com/admin/universalcode/#configuration-variables    */
+                /*
+                var disqus_config = function () {
+                this.page.url = PAGE_URL;  // Replace PAGE_URL with your page's canonical URL variable
+                this.page.identifier = PAGE_IDENTIFIER; // Replace PAGE_IDENTIFIER with your page's unique identifier variable
+                };
+                */
+                (function() { // DON'T EDIT BELOW THIS LINE
+                var d = document, s = d.createElement('script');
+                s.src = 'https://apache-nemo.disqus.com/embed.js';
+                s.setAttribute('data-timestamp', +new Date());
+                (d.head || d.body).appendChild(s);
+                })();
+            </script>
+            <noscript>Please enable JavaScript to view the <a href="https://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
         </div>
 
     </div>
@@ -305,7 +324,7 @@
         <div class="row">
             <div class="col-sm-11">
                 <p class="text-center">
-                    Nemo 2022 |
+                    Nemo 2023 |
                     Powered by <a href="https://github.com/aksakalli/jekyll-doc-theme">Jekyll Doc Theme</a>
                 </p>
                 <br>
diff --git a/content/docs/jekyll/index.html b/content/docs/jekyll/index.html
index 9097540..24174b8 100644
--- a/content/docs/jekyll/index.html
+++ b/content/docs/jekyll/index.html
@@ -13,7 +13,7 @@
     <link rel="shortcut icon" href="/favicon.ico?1">
     <!-- Begin Jekyll SEO tag v2.8.0 -->
 <title>Jekyll intro | Nemo</title>
-<meta name="generator" content="Jekyll v3.9.2" />
+<meta name="generator" content="Jekyll v3.9.3" />
 <meta property="og:title" content="Jekyll intro" />
 <meta property="og:locale" content="en_US" />
 <meta name="description" content="Getting started" />
@@ -22,11 +22,11 @@
 <meta property="og:url" content="http://nemo.apache.org//docs/jekyll/" />
 <meta property="og:site_name" content="Nemo" />
 <meta property="og:type" content="article" />
-<meta property="article:published_time" content="2022-11-09T01:04:48+09:00" />
+<meta property="article:published_time" content="2023-05-11T14:14:28+09:00" />
 <meta name="twitter:card" content="summary" />
 <meta property="twitter:title" content="Jekyll intro" />
 <script type="application/ld+json">
-{"@context":"https://schema.org","@type":"WebPage","dateModified":"2022-11-09T01:04:48+09:00","datePublished":"2022-11-09T01:04:48+09:00","description":"Getting started","headline":"Jekyll intro","url":"http://nemo.apache.org//docs/jekyll/"}</script>
+{"@context":"https://schema.org","@type":"WebPage","dateModified":"2023-05-11T14:14:28+09:00","datePublished":"2023-05-11T14:14:28+09:00","description":"Getting started","headline":"Jekyll intro","url":"http://nemo.apache.org//docs/jekyll/"}</script>
 <!-- End Jekyll SEO tag -->
 
 
@@ -66,7 +66,7 @@
                     <li><a href="https://www.apache.org/foundation/how-it-works.html">How Apache Works</a></li>
                     <li><a href="https://www.apache.org/licenses/">License</a></li>
                     <li><a href="https://www.apache.org/security/">Security</a></li>
-                    <li><a href="https://www.apache.org/foundation/policies/privacy.html">Privacy</a></li>
+                    <li><a href="https://privacy.apache.org/policies/privacy-policy-public.html">Privacy</a></li>
                     <li><a href="https://www.apache.org/foundation/sponsorship.html">Sponsoring Apache</a></li>
                     <li><a href="https://www.apache.org/foundation/thanks.html">Thanks</a></li>
                   </ul>
@@ -311,6 +311,25 @@
   
 
 
+            <div id="disqus_thread"></div>
+            <script>
+                /**
+                *  RECOMMENDED CONFIGURATION VARIABLES: EDIT AND UNCOMMENT THE SECTION BELOW TO INSERT DYNAMIC VALUES FROM YOUR PLATFORM OR CMS.
+                *  LEARN WHY DEFINING THESE VARIABLES IS IMPORTANT: https://disqus.com/admin/universalcode/#configuration-variables    */
+                /*
+                var disqus_config = function () {
+                this.page.url = PAGE_URL;  // Replace PAGE_URL with your page's canonical URL variable
+                this.page.identifier = PAGE_IDENTIFIER; // Replace PAGE_IDENTIFIER with your page's unique identifier variable
+                };
+                */
+                (function() { // DON'T EDIT BELOW THIS LINE
+                var d = document, s = d.createElement('script');
+                s.src = 'https://apache-nemo.disqus.com/embed.js';
+                s.setAttribute('data-timestamp', +new Date());
+                (d.head || d.body).appendChild(s);
+                })();
+            </script>
+            <noscript>Please enable JavaScript to view the <a href="https://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
         </div>
 
     </div>
@@ -324,7 +343,7 @@
         <div class="row">
             <div class="col-sm-11">
                 <p class="text-center">
-                    Nemo 2022 |
+                    Nemo 2023 |
                     Powered by <a href="https://github.com/aksakalli/jekyll-doc-theme">Jekyll Doc Theme</a>
                 </p>
                 <br>
diff --git a/content/docs/passes_and_policies/index.html b/content/docs/passes_and_policies/index.html
index edf8c5a..0e14cd6 100644
--- a/content/docs/passes_and_policies/index.html
+++ b/content/docs/passes_and_policies/index.html
@@ -13,7 +13,7 @@
     <link rel="shortcut icon" href="/favicon.ico?1">
     <!-- Begin Jekyll SEO tag v2.8.0 -->
 <title>Passes and Policies | Nemo</title>
-<meta name="generator" content="Jekyll v3.9.2" />
+<meta name="generator" content="Jekyll v3.9.3" />
 <meta property="og:title" content="Passes and Policies" />
 <meta property="og:locale" content="en_US" />
 <meta name="description" content="Optimization Passes" />
@@ -22,11 +22,11 @@
 <meta property="og:url" content="http://nemo.apache.org//docs/passes_and_policies/" />
 <meta property="og:site_name" content="Nemo" />
 <meta property="og:type" content="article" />
-<meta property="article:published_time" content="2022-11-09T01:04:48+09:00" />
+<meta property="article:published_time" content="2023-05-11T14:14:28+09:00" />
 <meta name="twitter:card" content="summary" />
 <meta property="twitter:title" content="Passes and Policies" />
 <script type="application/ld+json">
-{"@context":"https://schema.org","@type":"WebPage","dateModified":"2022-11-09T01:04:48+09:00","datePublished":"2022-11-09T01:04:48+09:00","description":"Optimization Passes","headline":"Passes and Policies","url":"http://nemo.apache.org//docs/passes_and_policies/"}</script>
+{"@context":"https://schema.org","@type":"WebPage","dateModified":"2023-05-11T14:14:28+09:00","datePublished":"2023-05-11T14:14:28+09:00","description":"Optimization Passes","headline":"Passes and Policies","url":"http://nemo.apache.org//docs/passes_and_policies/"}</script>
 <!-- End Jekyll SEO tag -->
 
 
@@ -66,7 +66,7 @@
                     <li><a href="https://www.apache.org/foundation/how-it-works.html">How Apache Works</a></li>
                     <li><a href="https://www.apache.org/licenses/">License</a></li>
                     <li><a href="https://www.apache.org/security/">Security</a></li>
-                    <li><a href="https://www.apache.org/foundation/policies/privacy.html">Privacy</a></li>
+                    <li><a href="https://privacy.apache.org/policies/privacy-policy-public.html">Privacy</a></li>
                     <li><a href="https://www.apache.org/foundation/sponsorship.html">Sponsoring Apache</a></li>
                     <li><a href="https://www.apache.org/foundation/thanks.html">Thanks</a></li>
                   </ul>
@@ -223,6 +223,8 @@
 <p>The <a href="../ir">Nemo IR</a> can be flexibly modified, both in its logical structure and annotations, through an interface called <em>Nemo optimization pass</em>.
 An <em>optimization pass</em> is basically a function that takes an <em>Nemo IR</em> and outputs an optimized <em>Nemo IR</em>.</p>
 
+<p><img src="/assets/img/pass.jpg" alt="image" /></p>
+
 <h5 id="compile-time-passes">Compile-time passes</h5>
 
 <p>The modification during compile-time can be categorized in different ways:</p>
@@ -327,6 +329,25 @@
     <div class="clear"></div>
     
 
+            <div id="disqus_thread"></div>
+            <script>
+                /**
+                *  RECOMMENDED CONFIGURATION VARIABLES: EDIT AND UNCOMMENT THE SECTION BELOW TO INSERT DYNAMIC VALUES FROM YOUR PLATFORM OR CMS.
+                *  LEARN WHY DEFINING THESE VARIABLES IS IMPORTANT: https://disqus.com/admin/universalcode/#configuration-variables    */
+                /*
+                var disqus_config = function () {
+                this.page.url = PAGE_URL;  // Replace PAGE_URL with your page's canonical URL variable
+                this.page.identifier = PAGE_IDENTIFIER; // Replace PAGE_IDENTIFIER with your page's unique identifier variable
+                };
+                */
+                (function() { // DON'T EDIT BELOW THIS LINE
+                var d = document, s = d.createElement('script');
+                s.src = 'https://apache-nemo.disqus.com/embed.js';
+                s.setAttribute('data-timestamp', +new Date());
+                (d.head || d.body).appendChild(s);
+                })();
+            </script>
+            <noscript>Please enable JavaScript to view the <a href="https://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
         </div>
 
     </div>
@@ -340,7 +361,7 @@
         <div class="row">
             <div class="col-sm-11">
                 <p class="text-center">
-                    Nemo 2022 |
+                    Nemo 2023 |
                     Powered by <a href="https://github.com/aksakalli/jekyll-doc-theme">Jekyll Doc Theme</a>
                 </p>
                 <br>
diff --git a/content/docs/runtime_design/index.html b/content/docs/runtime_design/index.html
index 83924be..48167c4 100644
--- a/content/docs/runtime_design/index.html
+++ b/content/docs/runtime_design/index.html
@@ -13,7 +13,7 @@
     <link rel="shortcut icon" href="/favicon.ico?1">
     <!-- Begin Jekyll SEO tag v2.8.0 -->
 <title>Runtime Design | Nemo</title>
-<meta name="generator" content="Jekyll v3.9.2" />
+<meta name="generator" content="Jekyll v3.9.3" />
 <meta property="og:title" content="Runtime Design" />
 <meta property="og:locale" content="en_US" />
 <meta name="description" content="Receiving a Job from the Nemo Compiler" />
@@ -22,11 +22,11 @@
 <meta property="og:url" content="http://nemo.apache.org//docs/runtime_design/" />
 <meta property="og:site_name" content="Nemo" />
 <meta property="og:type" content="article" />
-<meta property="article:published_time" content="2022-11-09T01:04:48+09:00" />
+<meta property="article:published_time" content="2023-05-11T14:14:28+09:00" />
 <meta name="twitter:card" content="summary" />
 <meta property="twitter:title" content="Runtime Design" />
 <script type="application/ld+json">
-{"@context":"https://schema.org","@type":"WebPage","dateModified":"2022-11-09T01:04:48+09:00","datePublished":"2022-11-09T01:04:48+09:00","description":"Receiving a Job from the Nemo Compiler","headline":"Runtime Design","url":"http://nemo.apache.org//docs/runtime_design/"}</script>
+{"@context":"https://schema.org","@type":"WebPage","dateModified":"2023-05-11T14:14:28+09:00","datePublished":"2023-05-11T14:14:28+09:00","description":"Receiving a Job from the Nemo Compiler","headline":"Runtime Design","url":"http://nemo.apache.org//docs/runtime_design/"}</script>
 <!-- End Jekyll SEO tag -->
 
 
@@ -66,7 +66,7 @@
                     <li><a href="https://www.apache.org/foundation/how-it-works.html">How Apache Works</a></li>
                     <li><a href="https://www.apache.org/licenses/">License</a></li>
                     <li><a href="https://www.apache.org/security/">Security</a></li>
-                    <li><a href="https://www.apache.org/foundation/policies/privacy.html">Privacy</a></li>
+                    <li><a href="https://privacy.apache.org/policies/privacy-policy-public.html">Privacy</a></li>
                     <li><a href="https://www.apache.org/foundation/sponsorship.html">Sponsoring Apache</a></li>
                     <li><a href="https://www.apache.org/foundation/thanks.html">Thanks</a></li>
                   </ul>
@@ -245,7 +245,7 @@
 are interfaces which users can implement in order to get them to behave the way the user wants.
 Each interface has been transparently integrated with other components of the runtime.</p>
 
-<p><img src="/assets/runtime_arch.png" alt="image" /></p>
+<p><img src="/assets/img/runtime.jpg" alt="image" /></p>
 
 <h3 id="dictionary">Dictionary</h3>
 <ul>
@@ -312,6 +312,25 @@
     <div class="clear"></div>
     
 
+            <div id="disqus_thread"></div>
+            <script>
+                /**
+                *  RECOMMENDED CONFIGURATION VARIABLES: EDIT AND UNCOMMENT THE SECTION BELOW TO INSERT DYNAMIC VALUES FROM YOUR PLATFORM OR CMS.
+                *  LEARN WHY DEFINING THESE VARIABLES IS IMPORTANT: https://disqus.com/admin/universalcode/#configuration-variables    */
+                /*
+                var disqus_config = function () {
+                this.page.url = PAGE_URL;  // Replace PAGE_URL with your page's canonical URL variable
+                this.page.identifier = PAGE_IDENTIFIER; // Replace PAGE_IDENTIFIER with your page's unique identifier variable
+                };
+                */
+                (function() { // DON'T EDIT BELOW THIS LINE
+                var d = document, s = d.createElement('script');
+                s.src = 'https://apache-nemo.disqus.com/embed.js';
+                s.setAttribute('data-timestamp', +new Date());
+                (d.head || d.body).appendChild(s);
+                })();
+            </script>
+            <noscript>Please enable JavaScript to view the <a href="https://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
         </div>
 
     </div>
@@ -325,7 +344,7 @@
         <div class="row">
             <div class="col-sm-11">
                 <p class="text-center">
-                    Nemo 2022 |
+                    Nemo 2023 |
                     Powered by <a href="https://github.com/aksakalli/jekyll-doc-theme">Jekyll Doc Theme</a>
                 </p>
                 <br>
diff --git a/content/docs/security/index.html b/content/docs/security/index.html
index e6ed51e..f0e2d27 100644
--- a/content/docs/security/index.html
+++ b/content/docs/security/index.html
@@ -13,7 +13,7 @@
     <link rel="shortcut icon" href="/favicon.ico?1">
     <!-- Begin Jekyll SEO tag v2.8.0 -->
 <title>Security Guide | Nemo</title>
-<meta name="generator" content="Jekyll v3.9.2" />
+<meta name="generator" content="Jekyll v3.9.3" />
 <meta property="og:title" content="Security Guide" />
 <meta property="og:locale" content="en_US" />
 <meta name="description" content="Reporting Security Issues The Apache Software Foundation takes a very active stance in eliminating security problems and denial of service attacks against its products. We strongly encourage folks to report such problems to our private security mailing list first, before disclosing them in a public forum. Please note that the security mailing list should only be used for reporting undisclosed security vulnerabilities and managing the process of fixing such vulnerabilities. We cannot accept regular bug reports or other queries at this address. All mail sent to this address that does not relate to an undisclosed security problem in our source code will be ignored. The private security mailing address is: security@apache.org. Please consult the Apache Security guide." />
@@ -22,11 +22,11 @@
 <meta property="og:url" content="http://nemo.apache.org//docs/security/" />
 <meta property="og:site_name" content="Nemo" />
 <meta property="og:type" content="article" />
-<meta property="article:published_time" content="2022-11-09T01:04:48+09:00" />
+<meta property="article:published_time" content="2023-05-11T14:14:28+09:00" />
 <meta name="twitter:card" content="summary" />
 <meta property="twitter:title" content="Security Guide" />
 <script type="application/ld+json">
-{"@context":"https://schema.org","@type":"WebPage","dateModified":"2022-11-09T01:04:48+09:00","datePublished":"2022-11-09T01:04:48+09:00","description":"Reporting Security Issues The Apache Software Foundation takes a very active stance in eliminating security problems and denial of service attacks against its products. We strongly encourage folks to report such problems to our private security mailing list first, before disclosing them in a public forum. Please note that the security mailing list should only be used for reporting undisclosed security vulnerabilities and managing the process of fixing such vulnerabilities. We cannot accept regular bug reports or other queries at this address. All mail sent to this address that does not relate to an undisclosed security problem in our source code will be ignored. The private security mailing address is: security@apache.org. Please consult the Apache Security guide.","headline":"Security Guide","url":"http://nemo.apache.org//docs/security/"}</script>
+{"@context":"https://schema.org","@type":"WebPage","dateModified":"2023-05-11T14:14:28+09:00","datePublished":"2023-05-11T14:14:28+09:00","description":"Reporting Security Issues The Apache Software Foundation takes a very active stance in eliminating security problems and denial of service attacks against its products. We strongly encourage folks to report such problems to our private security mailing list first, before disclosing them in a public forum. Please note that the security mailing list should only be used for reporting undisclosed security vulnerabilities and managing the process of fixing such vulnerabilities. We cannot accept regular bug reports or other queries at this address. All mail sent to this address that does not relate to an undisclosed security problem in our source code will be ignored. The private security mailing address is: security@apache.org. Please consult the Apache Security guide.","headline":"Security Guide","url":"http://nemo.apache.org//docs/security/"}</script>
 <!-- End Jekyll SEO tag -->
 
 
@@ -66,7 +66,7 @@
                     <li><a href="https://www.apache.org/foundation/how-it-works.html">How Apache Works</a></li>
                     <li><a href="https://www.apache.org/licenses/">License</a></li>
                     <li><a href="https://www.apache.org/security/">Security</a></li>
-                    <li><a href="https://www.apache.org/foundation/policies/privacy.html">Privacy</a></li>
+                    <li><a href="https://privacy.apache.org/policies/privacy-policy-public.html">Privacy</a></li>
                     <li><a href="https://www.apache.org/foundation/sponsorship.html">Sponsoring Apache</a></li>
                     <li><a href="https://www.apache.org/foundation/thanks.html">Thanks</a></li>
                   </ul>
@@ -286,6 +286,25 @@
     <div class="clear"></div>
     
 
+            <div id="disqus_thread"></div>
+            <script>
+                /**
+                *  RECOMMENDED CONFIGURATION VARIABLES: EDIT AND UNCOMMENT THE SECTION BELOW TO INSERT DYNAMIC VALUES FROM YOUR PLATFORM OR CMS.
+                *  LEARN WHY DEFINING THESE VARIABLES IS IMPORTANT: https://disqus.com/admin/universalcode/#configuration-variables    */
+                /*
+                var disqus_config = function () {
+                this.page.url = PAGE_URL;  // Replace PAGE_URL with your page's canonical URL variable
+                this.page.identifier = PAGE_IDENTIFIER; // Replace PAGE_IDENTIFIER with your page's unique identifier variable
+                };
+                */
+                (function() { // DON'T EDIT BELOW THIS LINE
+                var d = document, s = d.createElement('script');
+                s.src = 'https://apache-nemo.disqus.com/embed.js';
+                s.setAttribute('data-timestamp', +new Date());
+                (d.head || d.body).appendChild(s);
+                })();
+            </script>
+            <noscript>Please enable JavaScript to view the <a href="https://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
         </div>
 
     </div>
@@ -299,7 +318,7 @@
         <div class="row">
             <div class="col-sm-11">
                 <p class="text-center">
-                    Nemo 2022 |
+                    Nemo 2023 |
                     Powered by <a href="https://github.com/aksakalli/jekyll-doc-theme">Jekyll Doc Theme</a>
                 </p>
                 <br>
diff --git a/content/docs/themes/index.html b/content/docs/themes/index.html
index d0b0e01..8dcfe54 100644
--- a/content/docs/themes/index.html
+++ b/content/docs/themes/index.html
@@ -13,7 +13,7 @@
     <link rel="shortcut icon" href="/favicon.ico?1">
     <!-- Begin Jekyll SEO tag v2.8.0 -->
 <title>Themes | Nemo</title>
-<meta name="generator" content="Jekyll v3.9.2" />
+<meta name="generator" content="Jekyll v3.9.3" />
 <meta property="og:title" content="Themes" />
 <meta property="og:locale" content="en_US" />
 <meta name="description" content="By default, this website uses paper theme, but you can change it to another bootwatch theme by setting bootwatch variable in _config.yml file. (Don’t forget to restart Jekyll if you are running locally because the configuration is not re-read upon change.)" />
@@ -22,11 +22,11 @@
 <meta property="og:url" content="http://nemo.apache.org//docs/themes/" />
 <meta property="og:site_name" content="Nemo" />
 <meta property="og:type" content="article" />
-<meta property="article:published_time" content="2022-11-09T01:04:48+09:00" />
+<meta property="article:published_time" content="2023-05-11T14:14:28+09:00" />
 <meta name="twitter:card" content="summary" />
 <meta property="twitter:title" content="Themes" />
 <script type="application/ld+json">
-{"@context":"https://schema.org","@type":"WebPage","dateModified":"2022-11-09T01:04:48+09:00","datePublished":"2022-11-09T01:04:48+09:00","description":"By default, this website uses paper theme, but you can change it to another bootwatch theme by setting bootwatch variable in _config.yml file. (Don’t forget to restart Jekyll if you are running locally because the configuration is not re-read upon change.)","headline":"Themes","url":"http://nemo.apache.org//docs/themes/"}</script>
+{"@context":"https://schema.org","@type":"WebPage","dateModified":"2023-05-11T14:14:28+09:00","datePublished":"2023-05-11T14:14:28+09:00","description":"By default, this website uses paper theme, but you can change it to another bootwatch theme by setting bootwatch variable in _config.yml file. (Don’t forget to restart Jekyll if you are running locally because the configuration is not re-read upon change.)","headline":"Themes","url":"http://nemo.apache.org//docs/themes/"}</script>
 <!-- End Jekyll SEO tag -->
 
 
@@ -66,7 +66,7 @@
                     <li><a href="https://www.apache.org/foundation/how-it-works.html">How Apache Works</a></li>
                     <li><a href="https://www.apache.org/licenses/">License</a></li>
                     <li><a href="https://www.apache.org/security/">Security</a></li>
-                    <li><a href="https://www.apache.org/foundation/policies/privacy.html">Privacy</a></li>
+                    <li><a href="https://privacy.apache.org/policies/privacy-policy-public.html">Privacy</a></li>
                     <li><a href="https://www.apache.org/foundation/sponsorship.html">Sponsoring Apache</a></li>
                     <li><a href="https://www.apache.org/foundation/thanks.html">Thanks</a></li>
                   </ul>
@@ -502,6 +502,25 @@
   
 
 
+            <div id="disqus_thread"></div>
+            <script>
+                /**
+                *  RECOMMENDED CONFIGURATION VARIABLES: EDIT AND UNCOMMENT THE SECTION BELOW TO INSERT DYNAMIC VALUES FROM YOUR PLATFORM OR CMS.
+                *  LEARN WHY DEFINING THESE VARIABLES IS IMPORTANT: https://disqus.com/admin/universalcode/#configuration-variables    */
+                /*
+                var disqus_config = function () {
+                this.page.url = PAGE_URL;  // Replace PAGE_URL with your page's canonical URL variable
+                this.page.identifier = PAGE_IDENTIFIER; // Replace PAGE_IDENTIFIER with your page's unique identifier variable
+                };
+                */
+                (function() { // DON'T EDIT BELOW THIS LINE
+                var d = document, s = d.createElement('script');
+                s.src = 'https://apache-nemo.disqus.com/embed.js';
+                s.setAttribute('data-timestamp', +new Date());
+                (d.head || d.body).appendChild(s);
+                })();
+            </script>
+            <noscript>Please enable JavaScript to view the <a href="https://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
         </div>
 
     </div>
@@ -515,7 +534,7 @@
         <div class="row">
             <div class="col-sm-11">
                 <p class="text-center">
-                    Nemo 2022 |
+                    Nemo 2023 |
                     Powered by <a href="https://github.com/aksakalli/jekyll-doc-theme">Jekyll Doc Theme</a>
                 </p>
                 <br>
diff --git a/content/docs/welcome_to_jekyll/index.html b/content/docs/welcome_to_jekyll/index.html
index ede2737..a52eda1 100644
--- a/content/docs/welcome_to_jekyll/index.html
+++ b/content/docs/welcome_to_jekyll/index.html
@@ -13,7 +13,7 @@
     <link rel="shortcut icon" href="/favicon.ico?1">
     <!-- Begin Jekyll SEO tag v2.8.0 -->
 <title>Welcome to Jekyll! | Nemo</title>
-<meta name="generator" content="Jekyll v3.9.2" />
+<meta name="generator" content="Jekyll v3.9.3" />
 <meta property="og:title" content="Welcome to Jekyll!" />
 <meta property="og:locale" content="en_US" />
 <meta name="description" content="You’ll find this post in your _posts directory. Go ahead and edit it and re-build the site to see your changes. You can rebuild the site in many different ways, but the most common way is to run jekyll serve, which launches a web server and auto-regenerates your site when a file is updated." />
@@ -22,11 +22,11 @@
 <meta property="og:url" content="http://nemo.apache.org//docs/welcome_to_jekyll/" />
 <meta property="og:site_name" content="Nemo" />
 <meta property="og:type" content="article" />
-<meta property="article:published_time" content="2022-11-09T01:04:48+09:00" />
+<meta property="article:published_time" content="2023-05-11T14:14:28+09:00" />
 <meta name="twitter:card" content="summary" />
 <meta property="twitter:title" content="Welcome to Jekyll!" />
 <script type="application/ld+json">
-{"@context":"https://schema.org","@type":"WebPage","dateModified":"2022-11-09T01:04:48+09:00","datePublished":"2022-11-09T01:04:48+09:00","description":"You’ll find this post in your _posts directory. Go ahead and edit it and re-build the site to see your changes. You can rebuild the site in many different ways, but the most common way is to run jekyll serve, which launches a web server and auto-regenerates your site when a file is updated.","headline":"Welcome to Jekyll!","url":"http://nemo.apache.org//docs/welcome_to_jekyll/"}</script>
+{"@context":"https://schema.org","@type":"WebPage","dateModified":"2023-05-11T14:14:28+09:00","datePublished":"2023-05-11T14:14:28+09:00","description":"You’ll find this post in your _posts directory. Go ahead and edit it and re-build the site to see your changes. You can rebuild the site in many different ways, but the most common way is to run jekyll serve, which launches a web server and auto-regenerates your site when a file is updated.","headline":"Welcome to Jekyll!","url":"http://nemo.apache.org//docs/welcome_to_jekyll/"}</script>
 <!-- End Jekyll SEO tag -->
 
 
@@ -66,7 +66,7 @@
                     <li><a href="https://www.apache.org/foundation/how-it-works.html">How Apache Works</a></li>
                     <li><a href="https://www.apache.org/licenses/">License</a></li>
                     <li><a href="https://www.apache.org/security/">Security</a></li>
-                    <li><a href="https://www.apache.org/foundation/policies/privacy.html">Privacy</a></li>
+                    <li><a href="https://privacy.apache.org/policies/privacy-policy-public.html">Privacy</a></li>
                     <li><a href="https://www.apache.org/foundation/sponsorship.html">Sponsoring Apache</a></li>
                     <li><a href="https://www.apache.org/foundation/thanks.html">Thanks</a></li>
                   </ul>
@@ -273,6 +273,25 @@
   
 
 
+            <div id="disqus_thread"></div>
+            <script>
+                /**
+                *  RECOMMENDED CONFIGURATION VARIABLES: EDIT AND UNCOMMENT THE SECTION BELOW TO INSERT DYNAMIC VALUES FROM YOUR PLATFORM OR CMS.
+                *  LEARN WHY DEFINING THESE VARIABLES IS IMPORTANT: https://disqus.com/admin/universalcode/#configuration-variables    */
+                /*
+                var disqus_config = function () {
+                this.page.url = PAGE_URL;  // Replace PAGE_URL with your page's canonical URL variable
+                this.page.identifier = PAGE_IDENTIFIER; // Replace PAGE_IDENTIFIER with your page's unique identifier variable
+                };
+                */
+                (function() { // DON'T EDIT BELOW THIS LINE
+                var d = document, s = d.createElement('script');
+                s.src = 'https://apache-nemo.disqus.com/embed.js';
+                s.setAttribute('data-timestamp', +new Date());
+                (d.head || d.body).appendChild(s);
+                })();
+            </script>
+            <noscript>Please enable JavaScript to view the <a href="https://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
         </div>
 
     </div>
@@ -286,7 +305,7 @@
         <div class="row">
             <div class="col-sm-11">
                 <p class="text-center">
-                    Nemo 2022 |
+                    Nemo 2023 |
                     Powered by <a href="https://github.com/aksakalli/jekyll-doc-theme">Jekyll Doc Theme</a>
                 </p>
                 <br>
diff --git a/content/feed.xml b/content/feed.xml
index 69519bd..87873dd 100644
--- a/content/feed.xml
+++ b/content/feed.xml
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-US"><generator uri="https://jekyllrb.com/" version="3.9.2">Jekyll</generator><link href="http://nemo.apache.org//feed.xml" rel="self" type="application/atom+xml" /><link href="http://nemo.apache.org//" rel="alternate" type="text/html" hreflang="en-US" /><updated>2022-11-09T01:04:48+09:00</updated><id>http://nemo.apache.org//feed.xml</id><title type="html">Nemo</title><subtitle>A Data Processing System for Flexible Employment With Different Deployment Characteristics.
+<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-US"><generator uri="https://jekyllrb.com/" version="3.9.3">Jekyll</generator><link href="http://nemo.apache.org//feed.xml" rel="self" type="application/atom+xml" /><link href="http://nemo.apache.org//" rel="alternate" type="text/html" hreflang="en-US" /><updated>2023-05-11T14:14:28+09:00</updated><id>http://nemo.apache.org//feed.xml</id><title type="html">Nemo</title><subtitle>A Data Processing System for Flexible Employment With Different Deployment Characteristics.
 </subtitle><entry><title type="html">Nemo Release 0.4</title><link href="http://nemo.apache.org//blog/2022/09/10/release-note-0.4/" rel="alternate" type="text/html" title="Nemo Release 0.4" /><published>2022-09-10T00:00:00+09:00</published><updated>2022-09-10T00:00:00+09:00</updated><id>http://nemo.apache.org//blog/2022/09/10/release-note-0.4</id><content type="html" xml:base="http://nemo.apache.org//blog/2022/09/10/release-note-0.4/">&lt;p&gt;Release Notes - Apache Nemo - Version 0.4&lt;/p&gt;
 
 &lt;h3 id=&quot;heres-a-brief-summary-about-the-release&quot;&gt;Here’s a brief summary about the release:&lt;/h3&gt;
diff --git a/content/index.html b/content/index.html
index dad7db4..a9374f6 100644
--- a/content/index.html
+++ b/content/index.html
@@ -13,7 +13,7 @@
     <link rel="shortcut icon" href="/favicon.ico?1">
     <!-- Begin Jekyll SEO tag v2.8.0 -->
 <title>Nemo | A Data Processing System for Flexible Employment With Different Deployment Characteristics.</title>
-<meta name="generator" content="Jekyll v3.9.2" />
+<meta name="generator" content="Jekyll v3.9.3" />
 <meta property="og:title" content="Nemo" />
 <meta property="og:locale" content="en_US" />
 <meta name="description" content="A Data Processing System for Flexible Employment With Different Deployment Characteristics." />
@@ -65,7 +65,7 @@
                     <li><a href="https://www.apache.org/foundation/how-it-works.html">How Apache Works</a></li>
                     <li><a href="https://www.apache.org/licenses/">License</a></li>
                     <li><a href="https://www.apache.org/security/">Security</a></li>
-                    <li><a href="https://www.apache.org/foundation/policies/privacy.html">Privacy</a></li>
+                    <li><a href="https://privacy.apache.org/policies/privacy-policy-public.html">Privacy</a></li>
                     <li><a href="https://www.apache.org/foundation/sponsorship.html">Sponsoring Apache</a></li>
                     <li><a href="https://www.apache.org/foundation/thanks.html">Thanks</a></li>
                   </ul>
@@ -164,7 +164,7 @@
         <div class="row">
             <div class="col-sm-11">
                 <p class="text-center">
-                    Nemo 2022 |
+                    Nemo 2023 |
                     Powered by <a href="https://github.com/aksakalli/jekyll-doc-theme">Jekyll Doc Theme</a>
                 </p>
                 <br>
diff --git a/content/pages/downloads/index.html b/content/pages/downloads/index.html
index 71243e5..075e56a 100644
--- a/content/pages/downloads/index.html
+++ b/content/pages/downloads/index.html
@@ -13,7 +13,7 @@
     <link rel="shortcut icon" href="/favicon.ico?1">
     <!-- Begin Jekyll SEO tag v2.8.0 -->
 <title>Downloads | Nemo</title>
-<meta name="generator" content="Jekyll v3.9.2" />
+<meta name="generator" content="Jekyll v3.9.3" />
 <meta property="og:title" content="Downloads" />
 <meta property="og:locale" content="en_US" />
 <meta name="description" content="Releases" />
@@ -22,11 +22,11 @@
 <meta property="og:url" content="http://nemo.apache.org//pages/downloads/" />
 <meta property="og:site_name" content="Nemo" />
 <meta property="og:type" content="article" />
-<meta property="article:published_time" content="2022-11-09T01:04:48+09:00" />
+<meta property="article:published_time" content="2023-05-11T14:14:28+09:00" />
 <meta name="twitter:card" content="summary" />
 <meta property="twitter:title" content="Downloads" />
 <script type="application/ld+json">
-{"@context":"https://schema.org","@type":"WebPage","dateModified":"2022-11-09T01:04:48+09:00","datePublished":"2022-11-09T01:04:48+09:00","description":"Releases","headline":"Downloads","url":"http://nemo.apache.org//pages/downloads/"}</script>
+{"@context":"https://schema.org","@type":"WebPage","dateModified":"2023-05-11T14:14:28+09:00","datePublished":"2023-05-11T14:14:28+09:00","description":"Releases","headline":"Downloads","url":"http://nemo.apache.org//pages/downloads/"}</script>
 <!-- End Jekyll SEO tag -->
 
 
@@ -66,7 +66,7 @@
                     <li><a href="https://www.apache.org/foundation/how-it-works.html">How Apache Works</a></li>
                     <li><a href="https://www.apache.org/licenses/">License</a></li>
                     <li><a href="https://www.apache.org/security/">Security</a></li>
-                    <li><a href="https://www.apache.org/foundation/policies/privacy.html">Privacy</a></li>
+                    <li><a href="https://privacy.apache.org/policies/privacy-policy-public.html">Privacy</a></li>
                     <li><a href="https://www.apache.org/foundation/sponsorship.html">Sponsoring Apache</a></li>
                     <li><a href="https://www.apache.org/foundation/thanks.html">Thanks</a></li>
                   </ul>
@@ -156,7 +156,7 @@
         <div class="row">
             <div class="col-sm-11">
                 <p class="text-center">
-                    Nemo 2022 |
+                    Nemo 2023 |
                     Powered by <a href="https://github.com/aksakalli/jekyll-doc-theme">Jekyll Doc Theme</a>
                 </p>
                 <br>
diff --git a/content/pages/license/index.html b/content/pages/license/index.html
index 9c3379c..41768fc 100644
--- a/content/pages/license/index.html
+++ b/content/pages/license/index.html
@@ -13,7 +13,7 @@
     <link rel="shortcut icon" href="/favicon.ico?1">
     <!-- Begin Jekyll SEO tag v2.8.0 -->
 <title>License | Nemo</title>
-<meta name="generator" content="Jekyll v3.9.2" />
+<meta name="generator" content="Jekyll v3.9.3" />
 <meta property="og:title" content="License" />
 <meta property="og:locale" content="en_US" />
 <meta name="description" content="``` Apache License Version 2.0, January 2004 http://www.apache.org/licenses/" />
@@ -22,11 +22,11 @@
 <meta property="og:url" content="http://nemo.apache.org//pages/license/" />
 <meta property="og:site_name" content="Nemo" />
 <meta property="og:type" content="article" />
-<meta property="article:published_time" content="2022-11-09T01:04:48+09:00" />
+<meta property="article:published_time" content="2023-05-11T14:14:28+09:00" />
 <meta name="twitter:card" content="summary" />
 <meta property="twitter:title" content="License" />
 <script type="application/ld+json">
-{"@context":"https://schema.org","@type":"WebPage","dateModified":"2022-11-09T01:04:48+09:00","datePublished":"2022-11-09T01:04:48+09:00","description":"``` Apache License Version 2.0, January 2004 http://www.apache.org/licenses/","headline":"License","url":"http://nemo.apache.org//pages/license/"}</script>
+{"@context":"https://schema.org","@type":"WebPage","dateModified":"2023-05-11T14:14:28+09:00","datePublished":"2023-05-11T14:14:28+09:00","description":"``` Apache License Version 2.0, January 2004 http://www.apache.org/licenses/","headline":"License","url":"http://nemo.apache.org//pages/license/"}</script>
 <!-- End Jekyll SEO tag -->
 
 
@@ -66,7 +66,7 @@
                     <li><a href="https://www.apache.org/foundation/how-it-works.html">How Apache Works</a></li>
                     <li><a href="https://www.apache.org/licenses/">License</a></li>
                     <li><a href="https://www.apache.org/security/">Security</a></li>
-                    <li><a href="https://www.apache.org/foundation/policies/privacy.html">Privacy</a></li>
+                    <li><a href="https://privacy.apache.org/policies/privacy-policy-public.html">Privacy</a></li>
                     <li><a href="https://www.apache.org/foundation/sponsorship.html">Sponsoring Apache</a></li>
                     <li><a href="https://www.apache.org/foundation/thanks.html">Thanks</a></li>
                   </ul>
@@ -311,7 +311,7 @@
         <div class="row">
             <div class="col-sm-11">
                 <p class="text-center">
-                    Nemo 2022 |
+                    Nemo 2023 |
                     Powered by <a href="https://github.com/aksakalli/jekyll-doc-theme">Jekyll Doc Theme</a>
                 </p>
                 <br>
diff --git a/content/pages/talks/index.html b/content/pages/talks/index.html
index efb0481..82eb43b 100644
--- a/content/pages/talks/index.html
+++ b/content/pages/talks/index.html
@@ -13,7 +13,7 @@
     <link rel="shortcut icon" href="/favicon.ico?1">
     <!-- Begin Jekyll SEO tag v2.8.0 -->
 <title>Talks | Nemo</title>
-<meta name="generator" content="Jekyll v3.9.2" />
+<meta name="generator" content="Jekyll v3.9.3" />
 <meta property="og:title" content="Talks" />
 <meta property="og:locale" content="en_US" />
 <meta name="description" content="Flexible Optimizations and Efficient Execution of Data Processing on Apache Nemo (ApacheCon Asia 2021)(link)" />
@@ -22,11 +22,11 @@
 <meta property="og:url" content="http://nemo.apache.org//pages/talks/" />
 <meta property="og:site_name" content="Nemo" />
 <meta property="og:type" content="article" />
-<meta property="article:published_time" content="2022-11-09T01:04:48+09:00" />
+<meta property="article:published_time" content="2023-05-11T14:14:28+09:00" />
 <meta name="twitter:card" content="summary" />
 <meta property="twitter:title" content="Talks" />
 <script type="application/ld+json">
-{"@context":"https://schema.org","@type":"WebPage","dateModified":"2022-11-09T01:04:48+09:00","datePublished":"2022-11-09T01:04:48+09:00","description":"Flexible Optimizations and Efficient Execution of Data Processing on Apache Nemo (ApacheCon Asia 2021)(link)","headline":"Talks","url":"http://nemo.apache.org//pages/talks/"}</script>
+{"@context":"https://schema.org","@type":"WebPage","dateModified":"2023-05-11T14:14:28+09:00","datePublished":"2023-05-11T14:14:28+09:00","description":"Flexible Optimizations and Efficient Execution of Data Processing on Apache Nemo (ApacheCon Asia 2021)(link)","headline":"Talks","url":"http://nemo.apache.org//pages/talks/"}</script>
 <!-- End Jekyll SEO tag -->
 
 
@@ -66,7 +66,7 @@
                     <li><a href="https://www.apache.org/foundation/how-it-works.html">How Apache Works</a></li>
                     <li><a href="https://www.apache.org/licenses/">License</a></li>
                     <li><a href="https://www.apache.org/security/">Security</a></li>
-                    <li><a href="https://www.apache.org/foundation/policies/privacy.html">Privacy</a></li>
+                    <li><a href="https://privacy.apache.org/policies/privacy-policy-public.html">Privacy</a></li>
                     <li><a href="https://www.apache.org/foundation/sponsorship.html">Sponsoring Apache</a></li>
                     <li><a href="https://www.apache.org/foundation/thanks.html">Thanks</a></li>
                   </ul>
@@ -137,7 +137,7 @@
         <div class="row">
             <div class="col-sm-11">
                 <p class="text-center">
-                    Nemo 2022 |
+                    Nemo 2023 |
                     Powered by <a href="https://github.com/aksakalli/jekyll-doc-theme">Jekyll Doc Theme</a>
                 </p>
                 <br>
diff --git a/content/pages/team/index.html b/content/pages/team/index.html
index fe73fd8..802c630 100644
--- a/content/pages/team/index.html
+++ b/content/pages/team/index.html
@@ -13,7 +13,7 @@
     <link rel="shortcut icon" href="/favicon.ico?1">
     <!-- Begin Jekyll SEO tag v2.8.0 -->
 <title>Team | Nemo</title>
-<meta name="generator" content="Jekyll v3.9.2" />
+<meta name="generator" content="Jekyll v3.9.3" />
 <meta property="og:title" content="Team" />
 <meta property="og:locale" content="en_US" />
 <meta name="description" content="Contributing to Nemo Your contributation is always welcome :) If you would like to contribute to Nemo, please subscribe to our mailing list: dev@nemo.apache.org [subscribe]. We have a Slack channel for active discussions. Join us on Slack by requesting for an invitation by sending an e-mail to dev@ after subscription." />
@@ -22,11 +22,11 @@
 <meta property="og:url" content="http://nemo.apache.org//pages/team/" />
 <meta property="og:site_name" content="Nemo" />
 <meta property="og:type" content="article" />
-<meta property="article:published_time" content="2022-11-09T01:04:48+09:00" />
+<meta property="article:published_time" content="2023-05-11T14:14:28+09:00" />
 <meta name="twitter:card" content="summary" />
 <meta property="twitter:title" content="Team" />
 <script type="application/ld+json">
-{"@context":"https://schema.org","@type":"WebPage","dateModified":"2022-11-09T01:04:48+09:00","datePublished":"2022-11-09T01:04:48+09:00","description":"Contributing to Nemo Your contributation is always welcome :) If you would like to contribute to Nemo, please subscribe to our mailing list: dev@nemo.apache.org [subscribe]. We have a Slack channel for active discussions. Join us on Slack by requesting for an invitation by sending an e-mail to dev@ after subscription.","headline":"Team","url":"http://nemo.apache.org//pages/team/"}</script>
+{"@context":"https://schema.org","@type":"WebPage","dateModified":"2023-05-11T14:14:28+09:00","datePublished":"2023-05-11T14:14:28+09:00","description":"Contributing to Nemo Your contributation is always welcome :) If you would like to contribute to Nemo, please subscribe to our mailing list: dev@nemo.apache.org [subscribe]. We have a Slack channel for active discussions. Join us on Slack by requesting for an invitation by sending an e-mail to dev@ after subscription.","headline":"Team","url":"http://nemo.apache.org//pages/team/"}</script>
 <!-- End Jekyll SEO tag -->
 
 
@@ -66,7 +66,7 @@
                     <li><a href="https://www.apache.org/foundation/how-it-works.html">How Apache Works</a></li>
                     <li><a href="https://www.apache.org/licenses/">License</a></li>
                     <li><a href="https://www.apache.org/security/">Security</a></li>
-                    <li><a href="https://www.apache.org/foundation/policies/privacy.html">Privacy</a></li>
+                    <li><a href="https://privacy.apache.org/policies/privacy-policy-public.html">Privacy</a></li>
                     <li><a href="https://www.apache.org/foundation/sponsorship.html">Sponsoring Apache</a></li>
                     <li><a href="https://www.apache.org/foundation/thanks.html">Thanks</a></li>
                   </ul>
@@ -188,7 +188,7 @@
         <div class="row">
             <div class="col-sm-11">
                 <p class="text-center">
-                    Nemo 2022 |
+                    Nemo 2023 |
                     Powered by <a href="https://github.com/aksakalli/jekyll-doc-theme">Jekyll Doc Theme</a>
                 </p>
                 <br>
diff --git a/content/resources/diagrams.graffle b/content/resources/diagrams.graffle
new file mode 100644
index 0000000..59d4b24
--- /dev/null
+++ b/content/resources/diagrams.graffle
Binary files differ
diff --git a/content/resources/nemo.graffle/data.plist b/content/resources/nemo_logo.graffle/data.plist
similarity index 100%
rename from content/resources/nemo.graffle/data.plist
rename to content/resources/nemo_logo.graffle/data.plist
Binary files differ
diff --git a/content/resources/nemo.graffle/image1.png b/content/resources/nemo_logo.graffle/image1.png
similarity index 100%
rename from content/resources/nemo.graffle/image1.png
rename to content/resources/nemo_logo.graffle/image1.png
Binary files differ
diff --git a/content/sitemap.xml b/content/sitemap.xml
index 843adb5..baef9e7 100644
--- a/content/sitemap.xml
+++ b/content/sitemap.xml
@@ -2,79 +2,79 @@
 <urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd" xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
 <url>
 <loc>http://nemo.apache.org//docs/contribute/</loc>
-<lastmod>2022-11-09T01:04:48+09:00</lastmod>
+<lastmod>2023-05-11T14:14:28+09:00</lastmod>
 </url>
 <url>
 <loc>http://nemo.apache.org//docs/compiler_design/</loc>
-<lastmod>2022-11-09T01:04:48+09:00</lastmod>
+<lastmod>2023-05-11T14:14:28+09:00</lastmod>
 </url>
 <url>
 <loc>http://nemo.apache.org//docs/runtime_design/</loc>
-<lastmod>2022-11-09T01:04:48+09:00</lastmod>
+<lastmod>2023-05-11T14:14:28+09:00</lastmod>
 </url>
 <url>
 <loc>http://nemo.apache.org//docs/getting_started/</loc>
-<lastmod>2022-11-09T01:04:48+09:00</lastmod>
+<lastmod>2023-05-11T14:14:28+09:00</lastmod>
 </url>
 <url>
 <loc>http://nemo.apache.org//docs/home/</loc>
-<lastmod>2022-11-09T01:04:48+09:00</lastmod>
+<lastmod>2023-05-11T14:14:28+09:00</lastmod>
 </url>
 <url>
 <loc>http://nemo.apache.org//docs/bootstrap/</loc>
-<lastmod>2022-11-09T01:04:48+09:00</lastmod>
+<lastmod>2023-05-11T14:14:28+09:00</lastmod>
 </url>
 <url>
 <loc>http://nemo.apache.org//docs/cheatsheet/</loc>
-<lastmod>2022-11-09T01:04:48+09:00</lastmod>
+<lastmod>2023-05-11T14:14:28+09:00</lastmod>
 </url>
 <url>
 <loc>http://nemo.apache.org//docs/jekyll/</loc>
-<lastmod>2022-11-09T01:04:48+09:00</lastmod>
+<lastmod>2023-05-11T14:14:28+09:00</lastmod>
 </url>
 <url>
 <loc>http://nemo.apache.org//docs/font-awesome/</loc>
-<lastmod>2022-11-09T01:04:48+09:00</lastmod>
+<lastmod>2023-05-11T14:14:28+09:00</lastmod>
 </url>
 <url>
 <loc>http://nemo.apache.org//docs/themes/</loc>
-<lastmod>2022-11-09T01:04:48+09:00</lastmod>
+<lastmod>2023-05-11T14:14:28+09:00</lastmod>
 </url>
 <url>
 <loc>http://nemo.apache.org//docs/welcome_to_jekyll/</loc>
-<lastmod>2022-11-09T01:04:48+09:00</lastmod>
+<lastmod>2023-05-11T14:14:28+09:00</lastmod>
 </url>
 <url>
 <loc>http://nemo.apache.org//docs/extending_nemo/</loc>
-<lastmod>2022-11-09T01:04:48+09:00</lastmod>
+<lastmod>2023-05-11T14:14:28+09:00</lastmod>
 </url>
 <url>
 <loc>http://nemo.apache.org//docs/ir/</loc>
-<lastmod>2022-11-09T01:04:48+09:00</lastmod>
+<lastmod>2023-05-11T14:14:28+09:00</lastmod>
 </url>
 <url>
 <loc>http://nemo.apache.org//docs/passes_and_policies/</loc>
-<lastmod>2022-11-09T01:04:48+09:00</lastmod>
+<lastmod>2023-05-11T14:14:28+09:00</lastmod>
 </url>
 <url>
 <loc>http://nemo.apache.org//docs/security/</loc>
-<lastmod>2022-11-09T01:04:48+09:00</lastmod>
+<lastmod>2023-05-11T14:14:28+09:00</lastmod>
 </url>
 <url>
 <loc>http://nemo.apache.org//pages/downloads/</loc>
-<lastmod>2022-11-09T01:04:48+09:00</lastmod>
+<lastmod>2023-05-11T14:14:28+09:00</lastmod>
 </url>
 <url>
 <loc>http://nemo.apache.org//pages/license/</loc>
-<lastmod>2022-11-09T01:04:48+09:00</lastmod>
+<lastmod>2023-05-11T14:14:28+09:00</lastmod>
 </url>
 <url>
 <loc>http://nemo.apache.org//pages/talks/</loc>
-<lastmod>2022-11-09T01:04:48+09:00</lastmod>
+<lastmod>2023-05-11T14:14:28+09:00</lastmod>
 </url>
 <url>
 <loc>http://nemo.apache.org//pages/team/</loc>
-<lastmod>2022-11-09T01:04:48+09:00</lastmod>
+<lastmod>2023-05-11T14:14:28+09:00</lastmod>
 </url>
 <url>
 <loc>http://nemo.apache.org//blog/2018/03/20/nemo-blog-published/</loc>
