Repository: altwalker/altwalker (language: python)

Issue:
Change the docs theme to furo



Discussion / hints:

Fix patch:
diff --git a/README.md b/README.md
index a2ceda9..8fac5e4 100644
--- a/README.md
+++ b/README.md
@@ -234,6 +234,15 @@ To see the documentation run:
 $ open build/html/index.html
 ```
 
+To rebuild the documentation on changes, with live-reload in the browser run:
+
+```
+$ sphinx-autobuild docs/source docs/build/html
+```
+
+Navigate to the documentation at http://127.0.0.1:8000.
+
+
 __Further Reading/Useful Links__:
 
 * [Google Style Docstring Example](https://sphinxcontrib-napoleon.readthedocs.io/en/latest/example_google.html#example-google)
diff --git a/docs/source/_static/css/custom.css b/docs/source/_static/css/custom.css
index df127b2..d4b87fa 100644
--- a/docs/source/_static/css/custom.css
+++ b/docs/source/_static/css/custom.css
@@ -1,233 +1,9 @@
-/* Base */
+/* Custom CSS */
 
-a {
-  color: #3498db;
+.sidebar-logo {
+  height: 15vh;
 }
 
-a:hover {
-  color: #16a085;
-}
-
-.rst-content a:visited {
-  color: #9b59b6;
-}
-
-.rst-content a:hover {
-  color: #27ae60 !important;
-}
-
-/* Navigation Bar  */
-
-.wy-nav-top {
-  background-color: #27ae60;
-}
-
-.wy-side-nav-search {
-  background-color: #27ae60;
-}
-
-.wy-side-nav-search a {
-  font-size: 2.25rem;
-}
-
-.wy-side-nav-search a:hover {
-  color: #ecf0f1;
-}
-
-.wy-menu-vertical a:active {
-  background-color: #16a085;
-}
-
-.version {
-  color: #ecf0f1 !important;
-}
-
-.wy-side-nav-search input[type=text] {
-  border-color: #16a085;
-}
-
-.wy-menu-vertical header,
-.wy-menu-vertical p.caption {
-  color: #27ae60;
-}
-
-/* Content */
-
-.wy-nav-content {
-  min-height: 100vh;
-}
-
-/* Code Literals */
-
-.rst-content tt.literal,
-.rst-content tt.literal,
-.rst-content code.literal {
-  color: #e74c3c;
-}
-
-/* Admonitions */
-
-.wy-alert-title,
-.rst-content .admonition-title {
-  background: #3498db;
-}
-
-.wy-alert.wy-alert-warning .wy-alert-title,
-.wy-alert.wy-alert-warning .rst-content .admonition-title,
-.rst-content .attention .wy-alert-title,
-.rst-content .attention .admonition-title,
-.rst-content .caution .wy-alert-title,
-.rst-content .caution .admonition-title,
-.rst-content .warning .wy-alert-title,
-.rst-content .warning .admonition-title,
-.rst-content .admonition-todo .wy-alert-title,
-.rst-content .admonition-todo .admonition-title,
-.rst-content .wy-alert-warning.note .wy-alert-title,
-.rst-content .wy-alert-warning.danger .wy-alert-title,
-.rst-content .wy-alert-warning.error .wy-alert-title,
-.rst-content .wy-alert-warning.hint .wy-alert-title,
-.rst-content .wy-alert-warning.important .wy-alert-title,
-.rst-content .wy-alert-warning.tip .wy-alert-title,
-.rst-content .wy-alert-warning.seealso .wy-alert-title,
-.rst-content .wy-alert-warning.admonition .wy-alert-title,
-.rst-content .wy-alert.wy-alert-warning .admonition-title,
-.rst-content .wy-alert-warning.note .admonition-title,
-.rst-content .wy-alert-warning.danger .admonition-title,
-.rst-content .wy-alert-warning.error .admonition-title,
-.rst-content .wy-alert-warning.hint .admonition-title,
-.rst-content .wy-alert-warning.important .admonition-title,
-.rst-content .wy-alert-warning.tip .admonition-title,
-.rst-content .wy-alert-warning.seealso .admonition-title,
-.rst-content .wy-alert-warning.admonition .admonition-title {
-  background: #f39c12;
-}
-
-.wy-alert.wy-alert-danger .wy-alert-title,
-.wy-alert.wy-alert-danger .rst-content .admonition-title,
-.rst-content .danger .wy-alert-title,
-.rst-content .danger .admonition-title,
-.rst-content .error .wy-alert-title,
-.rst-content .error .admonition-title,
-.rst-content .wy-alert-danger.note .wy-alert-title,
-.rst-content .wy-alert-danger.attention .wy-alert-title,
-.rst-content .wy-alert-danger.caution .wy-alert-title,
-.rst-content .wy-alert-danger.hint .wy-alert-title,
-.rst-content .wy-alert-danger.important .wy-alert-title,
-.rst-content .wy-alert-danger.tip .wy-alert-title,
-.rst-content .wy-alert-danger.warning .wy-alert-title,
-.rst-content .wy-alert-danger.seealso .wy-alert-title,
-.rst-content .wy-alert-danger.admonition-todo .wy-alert-title,
-.rst-content .wy-alert-danger.admonition .wy-alert-title,
-.rst-content .wy-alert.wy-alert-danger .admonition-title,
-.rst-content .wy-alert-danger.note .admonition-title,
-.rst-content .wy-alert-danger.attention .admonition-title,
-.rst-content .wy-alert-danger.caution .admonition-title,
-.rst-content .wy-alert-danger.hint .admonition-title,
-.rst-content .wy-alert-danger.important .admonition-title,
-.rst-content .wy-alert-danger.tip .admonition-title,
-.rst-content .wy-alert-danger.warning .admonition-title,
-.rst-content .wy-alert-danger.seealso .admonition-title,
-.rst-content .wy-alert-danger.admonition-todo .admonition-title,
-.rst-content .wy-alert-danger.admonition .admonition-title {
-	background: #e74c3c;
-}
-
-.wy-alert.wy-alert-success .wy-alert-title,
-.wy-alert.wy-alert-success .rst-content .admonition-title,
-.rst-content .hint .wy-alert-title,
-.rst-content .hint .admonition-title,
-.rst-content .tip .wy-alert-title,
-.rst-content .tip .admonition-title,
-.rst-content .important .wy-alert-title,
-.rst-content .important .admonition-title,
-.rst-content .wy-alert-success.note .wy-alert-title,
-.rst-content .wy-alert-success.attention .wy-alert-title,
-.rst-content .wy-alert-success.caution .wy-alert-title,
-.rst-content .wy-alert-success.danger .wy-alert-title,
-.rst-content .wy-alert-success.error .wy-alert-title,
-.rst-content .wy-alert-success.warning .wy-alert-title,
-.rst-content .wy-alert-success.seealso .wy-alert-title,
-.rst-content .wy-alert-success.admonition-todo .wy-alert-title,
-.rst-content .wy-alert-success.admonition .wy-alert-title,
-.rst-content .wy-alert.wy-alert-success .admonition-title,
-.rst-content .wy-alert-success.note .admonition-title,
-.rst-content .wy-alert-success.attention .admonition-title,
-.rst-content .wy-alert-success.caution .admonition-title,
-.rst-content .wy-alert-success.danger .admonition-title,
-.rst-content .wy-alert-success.error .admonition-title,
-.rst-content .wy-alert-success.warning .admonition-title,
-.rst-content .wy-alert-success.seealso .admonition-title,
-.rst-content .wy-alert-success.admonition-todo .admonition-title,
-.rst-content .wy-alert-success.admonition .admonition-title {
-	background: #1abc9c;
-}
-
-.wy-alert.wy-alert-info .wy-alert-title,
-.wy-alert.wy-alert-info .rst-content .admonition-title,
-.rst-content .note .wy-alert-title,
-.rst-content .note .admonition-title,
-.rst-content .seealso .wy-alert-title,
-.rst-content .seealso .admonition-title,
-.rst-content .wy-alert-info.attention .wy-alert-title,
-.rst-content .wy-alert-info.caution .wy-alert-title,
-.rst-content .wy-alert-info.danger .wy-alert-title,
-.rst-content .wy-alert-info.error .wy-alert-title,
-.rst-content .wy-alert-info.hint .wy-alert-title,
-.rst-content .wy-alert-info.important .wy-alert-title,
-.rst-content .wy-alert-info.tip .wy-alert-title,
-.rst-content .wy-alert-info.warning .wy-alert-title,
-.rst-content .wy-alert-info.admonition-todo .wy-alert-title,
-.rst-content .wy-alert-info.admonition .wy-alert-title,
-.rst-content .wy-alert.wy-alert-info .admonition-title,
-.rst-content .wy-alert-info.attention .admonition-title,
-.rst-content .wy-alert-info.caution .admonition-title,
-.rst-content .wy-alert-info.danger .admonition-title,
-.rst-content .wy-alert-info.error .admonition-title,
-.rst-content .wy-alert-info.hint .admonition-title,
-.rst-content .wy-alert-info.important .admonition-title,
-.rst-content .wy-alert-info.tip .admonition-title,
-.rst-content .wy-alert-info.warning .admonition-title,
-.rst-content .wy-alert-info.admonition-todo .admonition-title,
-.rst-content .wy-alert-info.admonition .admonition-title {
-	background: #3498db;
-}
-
-/* Search Highlight */
-
-.rst-content .highlighted {
-  background-color: #27ae60;
-  color: #ecf0f1;
-}
-
-/* Code Documentation */
-
-.rst-content dl:not(.docutils) dt {
-  background: #ebfaf2;
-  color: #27ae60;
-  border-top: solid 3px #27ae60;
-}
-
-.rst-content tt, .rst-content tt, .rst-content code {
-  color: #2c3e50
-}
-
-/* Code Tabs */
-
-.sphinx-tabs .sphinx-menu a.item {
-  color: #27ae60 !important;
-}
-
-/* Logo */
-
-.wy-side-nav-search a {
-  width: 100%;
-  height: 100%;
-
-  margin-bottom: 0;
-  padding: 0;
-}
-
-.logo {
-  width: 100% !important;
-  height: 100% !important;
+.mr-2 {
+  margin-right: 0.5rem;
 }
diff --git a/docs/source/_static/img/favicon.svg b/docs/source/_static/img/favicon.svg
index d06c39d..facf896 100644
--- a/docs/source/_static/img/favicon.svg
+++ b/docs/source/_static/img/favicon.svg
@@ -1,55 +1,7 @@
-<svg width="7.32mm" height="7.32mm" version="1.1" viewBox="0 0 7.32 7.32" xmlns="http://www.w3.org/2000/svg">
- <g transform="translate(-102.87 64.237)">
-  <g transform="translate(1163.4 -514.75)">
-   <path d="m-1072.3 453.17c-0.3213 0-0.5855 0.26475-0.5855 0.58603v0.72398h0.4v-0.72398c0-0.1066 0.079-0.18606 0.1855-0.18606h2.9337c0.1066 0 0.1855 0.0795 0.1855 0.18606v0.72398h0.4005v-0.72398c0-0.32128-0.2647-0.58603-0.586-0.58603z" color="#000000" color-rendering="auto" dominant-baseline="auto" fill="#2c3e50" image-rendering="auto" shape-rendering="auto" solid-color="#000000" stop-color="#000000" style="font-feature-settings:normal;font-variant-alternates:normal;font-variant-caps:normal;font-variant-east-asian:normal;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-position:normal;font-variation-settings:normal;inline-size:0;isolation:auto;mix-blend-mode:normal;paint-order:stroke markers fill;shape-margin:0;shape-padding:0;text-decoration-color:#000000;text-decoration-line:none;text-decoration-style:solid;text-indent:0;text-orientation:mixed;text-transform:none;white-space:normal"/>
-   <path d="m-1070.8 451.46-1e-4 3.7042z" fill="none" stroke="#2c3e50" stroke-width=".4"/>
-   <g stroke="#2c3e50" stroke-linecap="round" stroke-linejoin="round" stroke-width=".4">
-    <rect x="-1071.5" y="450.86" width="1.2159" height="1.2159" rx=".27796" ry=".27796" fill="#27ae60" style="paint-order:normal"/>
-    <rect x="-1073.3" y="454.56" width="1.2159" height="1.2159" rx=".27796" ry=".27796" fill="#27ae60" style="paint-order:normal"/>
-    <rect x="-1071.5" y="454.56" width="1.2159" height="1.2159" rx=".27796" ry=".27796" fill="#e74c3c" style="paint-order:normal"/>
-    <rect x="-1069.6" y="454.56" width="1.2159" height="1.2159" rx=".27796" ry=".27796" fill="#27ae60" style="paint-order:normal"/>
-   </g>
-  </g>
-  <g transform="translate(1155.7 -507.24)">
-   <path d="m-1065.6 453.13c-0.3213 0-0.5855 0.26475-0.5855 0.58603v0.72398h0.3999v-0.72398c0-0.1066 0.079-0.18606 0.1856-0.18606h2.9336c0.1066 0 0.1856 0.0795 0.1856 0.18606v0.72398h0.4005v-0.72398c0-0.32128-0.2647-0.58603-0.5861-0.58603z" color="#000000" color-rendering="auto" dominant-baseline="auto" fill="#2c3e50" image-rendering="auto" shape-rendering="auto" solid-color="#000000" stop-color="#000000" style="font-feature-settings:normal;font-variant-alternates:normal;font-variant-caps:normal;font-variant-east-asian:normal;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-position:normal;font-variation-settings:normal;inline-size:0;isolation:auto;mix-blend-mode:normal;paint-order:stroke markers fill;shape-margin:0;shape-padding:0;text-decoration-color:#000000;text-decoration-line:none;text-decoration-style:solid;text-indent:0;text-orientation:mixed;text-transform:none;white-space:normal"/>
-   <path d="m-1064.1 451.42-1e-4 3.7042z" fill="none" stroke="#2c3e50" stroke-width=".4"/>
-   <rect x="-1064.8" y="450.82" width="1.2159" height="1.2159" rx=".27796" ry=".27796" fill="#27ae60" stroke="#2c3e50" stroke-linecap="round" stroke-linejoin="round" stroke-width=".4" style="paint-order:normal"/>
-   <g fill="#3498db" stroke="#2c3e50" stroke-linecap="round" stroke-linejoin="round" stroke-width=".4">
-    <rect x="-1066.6" y="454.52" width="1.2159" height="1.2159" rx=".27796" ry=".27796" style="paint-order:normal"/>
-    <rect x="-1064.8" y="454.52" width="1.2159" height="1.2159" rx=".27796" ry=".27796" style="paint-order:normal"/>
-    <rect x="-1062.9" y="454.52" width="1.2159" height="1.2159" rx=".27796" ry=".27796" style="paint-order:normal"/>
-   </g>
-  </g>
-  <g transform="translate(1161.4 -514.34)">
-   <path d="m-1078.9 453.13c-0.3213 0-0.5855 0.26475-0.5855 0.58603v0.72398h0.4v-0.72398c0-0.1066 0.079-0.18606 0.1855-0.18606h2.9337c0.1066 0 0.1855 0.0795 0.1855 0.18606v0.72398h0.4005v-0.72398c0-0.32128-0.2647-0.58603-0.586-0.58603z" color="#000000" color-rendering="auto" dominant-baseline="auto" fill="#2c3e50" image-rendering="auto" shape-rendering="auto" solid-color="#000000" stop-color="#000000" style="font-feature-settings:normal;font-variant-alternates:normal;font-variant-caps:normal;font-variant-east-asian:normal;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-position:normal;font-variation-settings:normal;inline-size:0;isolation:auto;mix-blend-mode:normal;paint-order:stroke markers fill;shape-margin:0;shape-padding:0;text-decoration-color:#000000;text-decoration-line:none;text-decoration-style:solid;text-indent:0;text-orientation:mixed;text-transform:none;white-space:normal"/>
-   <path d="m-1077.4 451.42-1e-4 3.7042z" fill="none" stroke="#2c3e50" stroke-width=".4"/>
-   <g fill="#27ae60" stroke="#2c3e50" stroke-linecap="round" stroke-linejoin="round" stroke-width=".4">
-    <rect x="-1078" y="450.81" width="1.2159" height="1.2159" rx=".27796" ry=".27796" style="paint-order:normal"/>
-    <rect x="-1079.9" y="454.52" width="1.2159" height="1.2159" rx=".27796" ry=".27796" style="paint-order:normal"/>
-    <rect x="-1078" y="454.52" width="1.2159" height="1.2159" rx=".27796" ry=".27796" style="paint-order:normal"/>
-    <rect x="-1076.2" y="454.52" width="1.2159" height="1.2159" rx=".27796" ry=".27796" style="paint-order:normal"/>
-   </g>
-  </g>
-  <g transform="translate(1142.6 -507.35)">
-   <path d="m-1059.3 453.09c-0.3213 0-0.5855 0.26475-0.5855 0.58603v0.72398h0.3999v-0.72398c0-0.1066 0.079-0.18606 0.1856-0.18606h2.9336c0.1066 0 0.1856 0.0795 0.1856 0.18606v0.72398h0.4005v-0.72398c0-0.32128-0.2647-0.58603-0.5861-0.58603z" color="#000000" color-rendering="auto" dominant-baseline="auto" fill="#2c3e50" image-rendering="auto" shape-rendering="auto" solid-color="#000000" stop-color="#000000" style="font-feature-settings:normal;font-variant-alternates:normal;font-variant-caps:normal;font-variant-east-asian:normal;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-position:normal;font-variation-settings:normal;inline-size:0;isolation:auto;mix-blend-mode:normal;paint-order:stroke markers fill;shape-margin:0;shape-padding:0;text-decoration-color:#000000;text-decoration-line:none;text-decoration-style:solid;text-indent:0;text-orientation:mixed;text-transform:none;white-space:normal"/>
-   <path d="m-1057.8 451.38-1e-4 3.7042z" fill="none" stroke="#2c3e50" stroke-width=".4"/>
-   <g stroke="#2c3e50" stroke-linecap="round" stroke-linejoin="round" stroke-width=".4">
-    <rect x="-1058.4" y="450.78" width="1.2159" height="1.2159" rx=".27796" ry=".27796" fill="#27ae60" style="paint-order:normal"/>
-    <rect x="-1060.3" y="454.48" width="1.2159" height="1.2159" rx=".27796" ry=".27796" fill="#3498db" style="paint-order:normal"/>
-    <rect x="-1058.4" y="454.48" width="1.2159" height="1.2159" rx=".27796" ry=".27796" fill="#9b59b6" style="paint-order:normal"/>
-    <rect x="-1056.5" y="454.48" width="1.2159" height="1.2159" rx=".27796" ry=".27796" fill="#3498db" style="paint-order:normal"/>
-   </g>
-  </g>
-  <g>
-   <path d="m104.57-60.767c-0.42835 0-0.78059 0.35297-0.78059 0.7813v0.96522h0.53329v-0.96522c0-0.14213 0.10533-0.24806 0.2473-0.24806h3.9113c0.14221 0 0.24731 0.10598 0.24731 0.24806v0.96522h0.53395v-0.96522c0-0.42834-0.35291-0.7813-0.78126-0.7813z" color="#000000" color-rendering="auto" dominant-baseline="auto" fill="#27ae60" image-rendering="auto" shape-rendering="auto" solid-color="#000000" stop-color="#000000" style="font-feature-settings:normal;font-variant-alternates:normal;font-variant-caps:normal;font-variant-east-asian:normal;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-position:normal;font-variation-settings:normal;inline-size:0;isolation:auto;mix-blend-mode:normal;paint-order:stroke markers fill;shape-margin:0;shape-padding:0;text-decoration-color:#000000;text-decoration-line:none;text-decoration-style:solid;text-indent:0;text-orientation:mixed;text-transform:none;white-space:normal"/>
-   <path d="m106.53-63.046-1.4e-4 4.9384z" fill="#ecf0f1" stroke="#27ae60" stroke-width=".53328"/>
-   <g fill="#27ae60" stroke="#27ae60" stroke-linecap="round" stroke-linejoin="round" stroke-width=".53328">
-    <rect x="105.72" y="-63.857" width="1.621" height="1.621" rx=".37058" ry=".37058" style="paint-order:normal"/>
-    <rect x="103.25" y="-58.918" width="1.621" height="1.621" rx=".37058" ry=".37058" style="paint-order:normal"/>
-    <rect x="105.72" y="-58.918" width="1.621" height="1.621" rx=".37058" ry=".37058" style="paint-order:normal"/>
-    <rect x="108.19" y="-58.918" width="1.621" height="1.621" rx=".37058" ry=".37058" style="paint-order:normal"/>
-   </g>
-  </g>
-  <circle cx="116.18" cy="-60.577" r="3.2951" fill="#ecf0f1" style="paint-order:normal"/>
- </g>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg width="100%" height="100%" viewBox="0 0 21 21" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;">
+    <g>
+        <path id="logo" d="M9.619,6.428L9.619,9.836L4.819,9.836C3.605,9.836 2.606,10.837 2.606,12.051L2.606,14.322L2.128,14.322C1.131,14.322 0.321,15.131 0.321,16.128L0.321,18.622C0.321,19.619 1.131,20.428 2.128,20.428C2.128,20.428 4.622,20.428 4.622,20.428C5.619,20.428 6.428,19.619 6.428,18.622C6.428,18.622 6.428,16.128 6.428,16.128C6.428,15.131 5.619,14.322 4.622,14.322L4.118,14.322L4.118,12.051C4.118,11.648 4.416,11.348 4.819,11.348L9.619,11.348L9.619,14.322L9.129,14.322C8.132,14.322 7.323,15.131 7.323,16.128C7.323,16.128 7.323,18.622 7.323,18.622C7.323,19.619 8.132,20.428 9.129,20.428C9.129,20.428 11.623,20.428 11.623,20.428C12.62,20.428 13.43,19.619 13.43,18.622C13.43,18.622 13.43,16.128 13.43,16.128C13.43,15.131 12.62,14.322 11.623,14.322L11.13,14.322L11.13,11.348L15.906,11.348C16.309,11.348 16.607,11.648 16.607,12.051L16.607,14.322L16.131,14.322C15.134,14.322 14.324,15.131 14.324,16.128L14.324,18.622C14.324,19.619 15.134,20.428 16.131,20.428C16.131,20.428 18.625,20.428 18.625,20.428C19.622,20.428 20.431,19.619 20.431,18.622C20.431,18.622 20.431,16.128 20.431,16.128C20.431,15.131 19.622,14.322 18.625,14.322L18.121,14.322L18.121,12.051C18.121,10.837 17.12,9.836 15.906,9.836L11.13,9.836L11.131,6.428L11.623,6.428C12.62,6.428 13.43,5.619 13.43,4.622C13.43,4.622 13.43,2.128 13.43,2.128C13.43,1.131 12.62,0.321 11.623,0.321L9.129,0.321C8.132,0.321 7.323,1.131 7.323,2.128C7.323,2.128 7.323,4.622 7.323,4.622C7.323,5.619 8.132,6.428 9.129,6.428L9.619,6.428Z" style="fill:rgb(39,174,96);fill-rule:nonzero;"/>
+    </g>
 </svg>
diff --git a/docs/source/_static/img/logo.svg b/docs/source/_static/img/logo.svg
index 5fdaf0b..3bba8d8 100644
--- a/docs/source/_static/img/logo.svg
+++ b/docs/source/_static/img/logo.svg
@@ -1,296 +1,28 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg
-   xmlns:dc="http://purl.org/dc/elements/1.1/"
-   xmlns:cc="http://creativecommons.org/ns#"
-   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-   xmlns:svg="http://www.w3.org/2000/svg"
-   xmlns="http://www.w3.org/2000/svg"
-   width="13.349195mm"
-   height="9.9420404mm"
-   viewBox="0 0 13.349196 9.9420405"
-   version="1.1"
-   id="svg8">
-  <defs
-     id="defs2" />
-  <metadata
-     id="metadata5">
-    <rdf:RDF>
-      <cc:Work
-         rdf:about="">
-        <dc:format>image/svg+xml</dc:format>
-        <dc:type
-           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
-        <dc:title></dc:title>
-      </cc:Work>
-    </rdf:RDF>
-  </metadata>
-  <g
-     id="layer1"
-     transform="translate(-99.852035,35.937944)">
-    <g
-       id="g1062"
-       transform="translate(1163.4379,-514.74871)">
-      <path
-         id="rect905"
-         style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;shape-margin:0;inline-size:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#2c3e50;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;stop-color:#000000"
-         d="m -1072.3109,453.17332 c -0.3213,0 -0.5855,0.26475 -0.5855,0.58603 v 0.72398 h 0.4 v -0.72398 c 0,-0.1066 0.079,-0.18606 0.1855,-0.18606 h 2.9337 c 0.1066,0 0.1855,0.0795 0.1855,0.18606 v 0.72398 h 0.4005 v -0.72398 c 0,-0.32128 -0.2647,-0.58603 -0.586,-0.58603 z" />
-      <path
-         style="fill:none;stroke:#2c3e50;stroke-width:0.4;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
-         d="m -1070.8439,451.4634 -10e-5,3.70416 z"
-         id="path879" />
-      <rect
-         style="fill:#27ae60;fill-opacity:1;stroke:#2c3e50;stroke-width:0.4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
-         id="rect946"
-         width="1.2158703"
-         height="1.2158703"
-         x="-1071.4517"
-         y="450.85547"
-         rx="0.27796301"
-         ry="0.27796301" />
-      <rect
-         style="fill:#27ae60;fill-opacity:1;stroke:#2c3e50;stroke-width:0.4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
-         id="rect978"
-         width="1.2158703"
-         height="1.2158703"
-         x="-1073.3041"
-         y="454.55963"
-         rx="0.27796301"
-         ry="0.27796301" />
-      <rect
-         style="fill:#e74c3c;fill-opacity:1;stroke:#2c3e50;stroke-width:0.4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
-         id="rect980"
-         width="1.2158703"
-         height="1.2158703"
-         x="-1071.452"
-         y="454.55963"
-         rx="0.27796301"
-         ry="0.27796301" />
-      <rect
-         style="fill:#27ae60;fill-opacity:1;stroke:#2c3e50;stroke-width:0.4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
-         id="rect982"
-         width="1.2158703"
-         height="1.2158703"
-         x="-1069.6"
-         y="454.55963"
-         rx="0.27796301"
-         ry="0.27796301" />
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg width="100%" height="100%" viewBox="0 0 38 29" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;">
+    <g id="layer1" transform="matrix(1,0,0,1,-283.045,101.871)">
+        <g id="main">
+            <g transform="matrix(1,0,0,1,283.045,-101.871)">
+                <g id="outline">
+                    <path d="M17.853,7.91L17.853,9.472C17.853,9.472 14.762,9.472 14.762,9.472C13.577,9.472 12.602,10.448 12.602,11.633L12.602,12.839C11.64,12.907 10.88,13.71 10.88,14.689C10.88,14.689 10.88,16.56 10.88,16.56C10.88,17.584 11.711,18.415 12.735,18.415C12.735,18.415 14.605,18.415 14.605,18.415C15.356,18.415 16.003,17.968 16.295,17.326C16.587,17.968 17.234,18.415 17.985,18.415C17.985,18.415 19.855,18.415 19.855,18.415C20.606,18.415 21.253,17.968 21.545,17.326C21.837,17.968 22.484,18.415 23.235,18.415C23.235,18.415 25.105,18.415 25.105,18.415C26.129,18.415 26.96,17.584 26.96,16.56C26.96,16.56 26.96,14.689 26.96,14.689C26.96,13.711 26.2,12.908 25.239,12.84L25.239,11.633C25.239,10.448 24.263,9.472 23.078,9.472C23.078,9.472 19.987,9.472 19.987,9.472L19.987,7.91C20.95,7.843 21.711,7.04 21.711,6.06L21.711,4.19C21.711,3.166 20.88,2.335 19.856,2.335L17.986,2.335C16.962,2.335 16.131,3.166 16.131,4.19L16.131,6.06C16.131,7.039 16.891,7.842 17.853,7.91ZM17.853,12.839L17.853,11.606L14.762,11.606C14.747,11.606 14.736,11.618 14.736,11.633L14.736,12.839C15.431,12.888 16.02,13.319 16.295,13.924C16.57,13.32 17.159,12.888 17.853,12.839ZM23.104,12.839L23.104,11.633C23.104,11.618 23.093,11.606 23.078,11.606C23.078,11.606 19.987,11.606 19.987,11.606L19.987,12.839C20.681,12.888 21.27,13.319 21.545,13.924C21.82,13.319 22.409,12.888 23.104,12.839ZM19.487,7.915L19.487,7.915L19.487,7.915L19.487,7.915Z" style="fill:white;"/>
+                </g>
+            </g>
+            <g id="logo" transform="matrix(1,0,0,1,3318.44,-1376.38)">
+                <path d="M-3014.75,1278.69C-3014.75,1278.26 -3015.1,1277.91 -3015.54,1277.91L-3017.41,1277.91C-3017.85,1277.91 -3018.2,1278.26 -3018.2,1278.69L-3018.2,1280.57C-3018.2,1281 -3017.85,1281.35 -3017.41,1281.35L-3015.54,1281.35C-3015.1,1281.35 -3014.75,1281 -3014.75,1280.57L-3014.75,1278.69Z" style="fill:rgb(39,174,96);"/>
+                <path id="rect1021" d="M-3020,1289.19C-3020,1288.76 -3020.36,1288.41 -3020.79,1288.41L-3022.66,1288.41C-3023.1,1288.41 -3023.45,1288.76 -3023.45,1289.19L-3023.45,1291.07C-3023.45,1291.5 -3023.1,1291.85 -3022.66,1291.85L-3020.79,1291.85C-3020.36,1291.85 -3020,1291.5 -3020,1291.07L-3020,1289.19Z" style="fill:rgb(52,152,219);"/>
+                <path id="rect1023" d="M-3014.75,1289.19C-3014.75,1288.76 -3015.11,1288.41 -3015.54,1288.41L-3017.41,1288.41C-3017.85,1288.41 -3018.2,1288.76 -3018.2,1289.19L-3018.2,1291.07C-3018.2,1291.5 -3017.85,1291.85 -3017.41,1291.85L-3015.54,1291.85C-3015.11,1291.85 -3014.75,1291.5 -3014.75,1291.07L-3014.75,1289.19Z" style="fill:rgb(52,152,219);"/>
+                <path id="rect1025" d="M-3009.5,1289.19C-3009.5,1288.76 -3009.86,1288.41 -3010.29,1288.41L-3012.16,1288.41C-3012.6,1288.41 -3012.95,1288.76 -3012.95,1289.19L-3012.95,1291.07C-3012.95,1291.5 -3012.6,1291.85 -3012.16,1291.85L-3010.29,1291.85C-3009.86,1291.85 -3009.5,1291.5 -3009.5,1291.07L-3009.5,1289.19Z" style="fill:rgb(52,152,219);"/>
+                <g id="path1015" transform="matrix(1,0,0,1,-3035.4,1274.5)">
+                    <path d="M23.604,13.335L23.235,13.335C22.487,13.335 21.88,13.942 21.88,14.689C21.88,14.689 21.88,16.56 21.88,16.56C21.88,17.308 22.487,17.915 23.235,17.915C23.235,17.915 25.105,17.915 25.105,17.915C25.853,17.915 26.46,17.308 26.46,16.56L26.46,14.689C26.46,13.942 25.853,13.335 25.105,13.335L24.739,13.335L24.739,11.633C24.739,10.722 23.989,9.972 23.078,9.972L19.487,9.972L19.487,7.415L19.856,7.415C20.604,7.415 21.211,6.808 21.211,6.06L21.211,4.19C21.211,3.442 20.604,2.835 19.856,2.835C19.856,2.835 17.986,2.835 17.986,2.835C17.238,2.835 16.631,3.442 16.631,4.19C16.631,4.19 16.631,6.06 16.631,6.06C16.631,6.808 17.238,7.415 17.986,7.415L18.353,7.415L18.353,9.972L14.762,9.972C13.851,9.972 13.102,10.722 13.102,11.633L13.102,13.335L12.735,13.335C11.987,13.335 11.38,13.942 11.38,14.689C11.38,14.689 11.38,16.56 11.38,16.56C11.38,17.308 11.987,17.915 12.735,17.915C12.735,17.915 14.605,17.915 14.605,17.915C15.353,17.915 15.96,17.308 15.96,16.56L15.96,14.689C15.96,13.942 15.353,13.335 14.605,13.335L14.236,13.335L14.236,11.633C14.236,11.331 14.46,11.106 14.762,11.106L18.353,11.106L18.353,13.335L17.985,13.335C17.237,13.335 16.63,13.942 16.63,14.689C16.63,14.689 16.63,16.56 16.63,16.56C16.63,17.308 17.237,17.915 17.985,17.915C17.985,17.915 19.855,17.915 19.855,17.915C20.603,17.915 21.21,17.308 21.21,16.56C21.21,16.56 21.21,14.689 21.21,14.689C21.21,13.942 20.603,13.335 19.855,13.335L19.487,13.335L19.487,11.106L23.078,11.106C23.38,11.106 23.604,11.331 23.604,11.633L23.604,13.335ZM14.826,14.689L14.826,16.56C14.826,16.682 14.727,16.781 14.605,16.781L12.735,16.781C12.613,16.781 12.514,16.682 12.514,16.56L12.514,14.689C12.514,14.568 12.613,14.468 12.735,14.468L14.605,14.468C14.727,14.468 14.826,14.568 14.826,14.689ZM25.326,14.689L25.326,16.56C25.326,16.682 25.227,16.781 25.105,16.781L23.235,16.781C23.113,16.781 23.014,16.682 23.014,16.56L23.014,14.689C23.014,14.568 23.113,14.468 23.235,14.468L25.105,14.468C25.227,14.468 25.326,14.568 25.326,14.689ZM20.076,14.689L20.076,16.56C20.076,16.682 19.977,16.781 19.855,16.781L17.985,16.781C17.863,16.781 17.764,16.682 17.764,16.56L17.764,14.689C17.764,14.568 17.863,14.468 17.985,14.468L19.855,14.468C19.977,14.468 20.076,14.568 20.076,14.689ZM20.077,4.189L20.077,6.06C20.077,6.182 19.978,6.281 19.856,6.281C19.856,6.281 17.986,6.281 17.986,6.281C17.864,6.281 17.765,6.182 17.765,6.06L17.765,4.19C17.765,4.068 17.864,3.969 17.986,3.969L19.856,3.969C19.978,3.969 20.077,4.068 20.077,4.189Z" style="fill:rgb(44,62,80);fill-rule:nonzero;"/>
+                </g>
+            </g>
+        </g>
+        <g id="text" transform="matrix(1,0,0,1,285.874,-76.5941)">
+            <g transform="matrix(1,0,0,1,-2.82879,-25.2772)">
+                <path d="M7.704,25.738C7.643,25.764 7.578,25.777 7.51,25.777L6.122,25.777C5.901,25.777 5.706,25.632 5.643,25.42L5.538,25.068L4.773,25.068L4.671,25.418C4.608,25.631 4.413,25.777 4.191,25.777L2.835,25.777C2.671,25.777 2.517,25.697 2.424,25.562C2.33,25.427 2.309,25.255 2.367,25.101L3.981,20.806C4.054,20.611 4.241,20.482 4.449,20.482L5.896,20.482C6.104,20.482 6.291,20.611 6.364,20.806L7.397,23.555L7.397,20.982C7.397,20.706 7.621,20.482 7.897,20.482L9.092,20.482C9.369,20.482 9.592,20.706 9.592,20.982L9.592,21.671C9.594,21.671 9.596,21.671 9.597,21.671L9.597,21.595C9.597,21.407 9.702,21.235 9.869,21.15L11.065,20.537C11.22,20.458 11.405,20.465 11.553,20.556C11.625,20.599 11.682,20.659 11.723,20.728C11.735,20.708 11.749,20.688 11.764,20.669C11.859,20.551 12.002,20.482 12.154,20.482L13.414,20.482C13.654,20.482 13.86,20.653 13.905,20.889C13.905,20.889 13.959,21.173 13.959,21.173L14.048,20.849C14.108,20.632 14.305,20.482 14.53,20.482L15.787,20.482C16.012,20.482 16.209,20.632 16.269,20.849C16.269,20.849 16.36,21.178 16.36,21.178L16.415,20.889C16.459,20.653 16.666,20.482 16.906,20.482L18.16,20.482C18.311,20.482 18.455,20.551 18.55,20.669C18.645,20.787 18.681,20.942 18.648,21.09L18.452,21.979C18.514,21.933 18.582,21.889 18.656,21.848C18.804,21.767 19.005,21.698 19.264,21.653C19.482,21.615 19.717,21.596 19.97,21.596C20.366,21.596 20.683,21.62 20.923,21.664C21.235,21.722 21.494,21.846 21.702,22.029C21.798,22.113 21.884,22.215 21.958,22.339L21.958,20.982C21.958,20.706 22.182,20.482 22.458,20.482L23.653,20.482C23.806,20.482 23.942,20.551 24.034,20.658C24.126,20.551 24.262,20.482 24.415,20.482L25.634,20.482C25.91,20.482 26.134,20.706 26.134,20.982C26.134,20.982 26.134,21.853 26.134,21.853L26.146,21.839C26.241,21.729 26.379,21.666 26.524,21.666L27.992,21.666C28.192,21.666 28.373,21.785 28.452,21.969C28.814,21.726 29.268,21.596 29.82,21.596C30.364,21.596 30.791,21.69 31.106,21.855C31.355,21.984 31.561,22.156 31.725,22.369L31.725,22.166C31.725,21.89 31.949,21.666 32.225,21.666L33.342,21.666C33.417,21.666 33.489,21.683 33.553,21.713C33.71,21.637 33.891,21.596 34.097,21.596C34.343,21.596 34.614,21.664 34.906,21.817C35.139,21.938 35.238,22.218 35.133,22.459L34.764,23.308C34.655,23.559 34.365,23.676 34.113,23.571C34.069,23.552 34.034,23.535 34.004,23.527C33.932,23.664 33.924,23.903 33.924,24.234L33.924,25.277C33.924,25.553 33.7,25.777 33.424,25.777L32.225,25.777C31.949,25.777 31.725,25.553 31.725,25.277L31.725,25.151C31.561,25.336 31.38,25.48 31.184,25.585C30.874,25.75 30.433,25.848 29.855,25.848C29.349,25.848 28.952,25.765 28.662,25.622C28.603,25.593 28.546,25.561 28.49,25.526L28.49,25.526C28.401,25.681 28.235,25.777 28.056,25.777L26.712,25.777C26.523,25.777 26.35,25.671 26.265,25.502L26.134,25.241L26.134,25.277C26.134,25.553 25.91,25.777 25.634,25.777L24.415,25.777C24.262,25.777 24.126,25.709 24.034,25.601C23.942,25.709 23.806,25.777 23.653,25.777L22.458,25.777C22.344,25.777 22.239,25.739 22.154,25.675C22.069,25.74 21.962,25.777 21.851,25.777L20.732,25.777C20.607,25.777 20.489,25.73 20.398,25.649L20.326,25.682C20.061,25.79 19.753,25.848 19.402,25.848C18.881,25.848 18.494,25.704 18.224,25.463C18.023,25.283 17.889,25.076 17.821,24.842L17.702,25.385C17.651,25.614 17.448,25.777 17.214,25.777L15.913,25.777C15.688,25.777 15.491,25.628 15.431,25.411C15.431,25.411 15.161,24.441 15.161,24.441L14.892,25.411C14.832,25.627 14.635,25.777 14.41,25.777L13.109,25.777C12.875,25.777 12.672,25.614 12.621,25.386L12.408,24.427L12.49,25.198C12.517,25.451 12.349,25.685 12.1,25.739C11.767,25.812 11.456,25.848 11.167,25.848C10.761,25.848 10.465,25.777 10.272,25.673C10.033,25.543 9.854,25.349 9.74,25.085C9.654,24.888 9.597,24.572 9.597,24.132L9.597,23.532L9.592,23.532L9.592,25.277C9.592,25.553 9.369,25.777 9.092,25.777L7.897,25.777C7.829,25.777 7.763,25.763 7.704,25.738ZM20.5,24.265C20.524,24.188 20.536,24.096 20.536,23.991L20.536,23.801C20.412,23.845 20.284,23.885 20.153,23.922L20.5,24.265ZM12.195,23.471L12.364,24.229C12.325,24.14 12.261,24.063 12.178,24.009C12.063,23.934 11.924,23.91 11.793,23.941L11.793,23.536C11.793,23.536 11.949,23.536 11.949,23.536C12.038,23.536 12.123,23.512 12.195,23.471ZM18.119,23.491L18.11,23.53L18.139,23.501L18.119,23.491ZM27.504,23.341L27.575,23.462C27.583,23.386 27.594,23.311 27.608,23.239L27.504,23.341ZM11.793,21.666L11.794,21.666L11.793,21.661L11.793,21.666Z" style="fill:white;fill-rule:nonzero;"/>
+            </g>
+            <text id="text1" serif:id="text" x="0px" y="0px" style="font-family:'Arial-Black', 'Arial Black', sans-serif;font-weight:900;font-size:6px;fill:rgb(44,62,80);">AltW<tspan x="15.226px 19.228px 21.226px 25.022px 29.024px " y="0px 0px 0px 0px 0px ">alker</tspan></text>
+        </g>
     </g>
-    <g
-       id="g1146"
-       transform="translate(1170.6722,-485.55493)">
-      <path
-         id="path1015"
-         style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;shape-margin:0;inline-size:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#2c3e50;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;stop-color:#000000"
-         d="m -1065.6124,453.13482 c -0.3213,0 -0.5855,0.26475 -0.5855,0.58603 v 0.72398 h 0.3999 v -0.72398 c 0,-0.1066 0.079,-0.18606 0.1856,-0.18606 h 2.9336 c 0.1066,0 0.1856,0.0795 0.1856,0.18606 v 0.72398 h 0.4005 v -0.72398 c 0,-0.32128 -0.2647,-0.58603 -0.5861,-0.58603 z" />
-      <path
-         style="fill:none;stroke:#2c3e50;stroke-width:0.4;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
-         d="m -1064.1455,451.4249 -10e-5,3.70416 z"
-         id="path1017" />
-      <rect
-         style="fill:#27ae60;fill-opacity:1;stroke:#2c3e50;stroke-width:0.4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
-         id="rect1019"
-         width="1.2158703"
-         height="1.2158703"
-         x="-1064.7532"
-         y="450.81699"
-         rx="0.27796301"
-         ry="0.27796301" />
-      <rect
-         style="fill:#3498db;fill-opacity:1;stroke:#2c3e50;stroke-width:0.4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
-         id="rect1021"
-         width="1.2158703"
-         height="1.2158703"
-         x="-1066.6056"
-         y="454.52115"
-         rx="0.27796301"
-         ry="0.27796301" />
-      <rect
-         style="fill:#3498db;fill-opacity:1;stroke:#2c3e50;stroke-width:0.4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
-         id="rect1023"
-         width="1.2158703"
-         height="1.2158703"
-         x="-1064.7535"
-         y="454.52115"
-         rx="0.27796301"
-         ry="0.27796301" />
-      <rect
-         style="fill:#3498db;fill-opacity:1;stroke:#2c3e50;stroke-width:0.4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
-         id="rect1025"
-         width="1.2158703"
-         height="1.2158703"
-         x="-1062.9015"
-         y="454.52115"
-         rx="0.27796301"
-         ry="0.27796301" />
-    </g>
-    <g
-       id="g1090"
-       transform="translate(1161.4081,-514.34422)">
-      <path
-         id="path1064"
-         style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;shape-margin:0;inline-size:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#2c3e50;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;stop-color:#000000"
-         d="m -1078.8691,453.13207 c -0.3213,0 -0.5855,0.26475 -0.5855,0.58603 v 0.72398 h 0.4 v -0.72398 c 0,-0.1066 0.079,-0.18606 0.1855,-0.18606 h 2.9337 c 0.1066,0 0.1855,0.0795 0.1855,0.18606 v 0.72398 h 0.4005 v -0.72398 c 0,-0.32128 -0.2647,-0.58603 -0.586,-0.58603 z" />
-      <path
-         style="fill:none;stroke:#2c3e50;stroke-width:0.4;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
-         d="m -1077.4021,451.42215 -10e-5,3.70416 z"
-         id="path1066" />
-      <rect
-         style="fill:#27ae60;fill-opacity:1;stroke:#2c3e50;stroke-width:0.4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
-         id="rect1068"
-         width="1.2158703"
-         height="1.2158703"
-         x="-1078.0098"
-         y="450.81421"
-         rx="0.27796301"
-         ry="0.27796301" />
-      <rect
-         style="fill:#27ae60;fill-opacity:1;stroke:#2c3e50;stroke-width:0.4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
-         id="rect1070"
-         width="1.2158703"
-         height="1.2158703"
-         x="-1079.8622"
-         y="454.51837"
-         rx="0.27796301"
-         ry="0.27796301" />
-      <rect
-         style="fill:#27ae60;fill-opacity:1;stroke:#2c3e50;stroke-width:0.4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
-         id="rect1072"
-         width="1.2158703"
-         height="1.2158703"
-         x="-1078.0101"
-         y="454.51837"
-         rx="0.27796301"
-         ry="0.27796301" />
-      <rect
-         style="fill:#27ae60;fill-opacity:1;stroke:#2c3e50;stroke-width:0.4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
-         id="rect1074"
-         width="1.2158703"
-         height="1.2158703"
-         x="-1076.1581"
-         y="454.51837"
-         rx="0.27796301"
-         ry="0.27796301" />
-    </g>
-    <g
-       id="g1132"
-       transform="translate(1142.6298,-507.35233)">
-      <path
-         id="path1092"
-         style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;shape-margin:0;inline-size:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#2c3e50;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;stop-color:#000000"
-         d="m -1059.2604,453.09358 c -0.3213,0 -0.5855,0.26475 -0.5855,0.58603 v 0.72398 h 0.3999 v -0.72398 c 0,-0.1066 0.079,-0.18606 0.1856,-0.18606 h 2.9336 c 0.1066,0 0.1856,0.0795 0.1856,0.18606 v 0.72398 h 0.4005 v -0.72398 c 0,-0.32128 -0.2647,-0.58603 -0.5861,-0.58603 z" />
-      <path
-         style="fill:none;stroke:#2c3e50;stroke-width:0.4;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
-         d="m -1057.7935,451.38366 -10e-5,3.70416 z"
-         id="path1094" />
-      <rect
-         style="fill:#27ae60;fill-opacity:1;stroke:#2c3e50;stroke-width:0.4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
-         id="rect1096"
-         width="1.2158703"
-         height="1.2158703"
-         x="-1058.4012"
-         y="450.77573"
-         rx="0.27796301"
-         ry="0.27796301" />
-      <rect
-         style="fill:#3498db;fill-opacity:1;stroke:#2c3e50;stroke-width:0.4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
-         id="rect1098"
-         width="1.2158703"
-         height="1.2158703"
-         x="-1060.2537"
-         y="454.47989"
-         rx="0.27796301"
-         ry="0.27796301" />
-      <rect
-         style="fill:#9b59b6;fill-opacity:1;stroke:#2c3e50;stroke-width:0.4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
-         id="rect1100"
-         width="1.2158703"
-         height="1.2158703"
-         x="-1058.4016"
-         y="454.47989"
-         rx="0.27796301"
-         ry="0.27796301" />
-      <rect
-         style="fill:#3498db;fill-opacity:1;stroke:#2c3e50;stroke-width:0.4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
-         id="rect1102"
-         width="1.2158703"
-         height="1.2158703"
-         x="-1056.5496"
-         y="454.47989"
-         rx="0.27796301"
-         ry="0.27796301" />
-    </g>
-    <g
-       id="g978">
-      <path
-         id="path1271"
-         style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;shape-margin:0;inline-size:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#27ae60;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.33321;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;stop-color:#000000"
-         d="m 104.57091,-60.766551 c -0.42835,0 -0.78059,0.352967 -0.78059,0.781303 v 0.965218 h 0.53329 v -0.965218 c 0,-0.14213 0.10533,-0.248058 0.2473,-0.248058 h 3.91126 c 0.14221,0 0.24731,0.105979 0.24731,0.248058 v 0.965218 h 0.53395 v -0.965218 c 0,-0.428336 -0.35291,-0.781303 -0.78126,-0.781303 z" />
-      <path
-         style="fill:#ecf0f1;fill-opacity:1;stroke:#27ae60;stroke-width:0.533284;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
-         d="m 106.52675,-63.046237 -1.4e-4,4.938431 z"
-         id="path1273" />
-      <rect
-         style="fill:#27ae60;fill-opacity:1;stroke:#27ae60;stroke-width:0.533284;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
-         id="rect1275"
-         width="1.6210128"
-         height="1.6210128"
-         x="105.7166"
-         y="-63.856747"
-         rx="0.37058362"
-         ry="0.37058362" />
-      <rect
-         style="fill:#27ae60;fill-opacity:1;stroke:#27ae60;stroke-width:0.533284;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
-         id="rect1277"
-         width="1.6210128"
-         height="1.6210128"
-         x="103.24694"
-         y="-58.918312"
-         rx="0.37058362"
-         ry="0.37058362" />
-      <rect
-         style="fill:#27ae60;fill-opacity:1;stroke:#27ae60;stroke-width:0.533284;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
-         id="rect1279"
-         width="1.6210128"
-         height="1.6210128"
-         x="105.71611"
-         y="-58.918312"
-         rx="0.37058362"
-         ry="0.37058362" />
-      <rect
-         style="fill:#27ae60;fill-opacity:1;stroke:#27ae60;stroke-width:0.533284;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
-         id="rect1281"
-         width="1.6210128"
-         height="1.6210128"
-         x="108.18531"
-         y="-58.918312"
-         rx="0.37058362"
-         ry="0.37058362" />
-    </g>
-    <circle
-       style="fill:#ecf0f1;fill-opacity:1;stroke:none;stroke-width:0.4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
-       id="circle1525"
-       cx="116.18435"
-       cy="-60.577026"
-       r="3.2950838" />
-    <text
-       xml:space="preserve"
-       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.11667px;line-height:1.25;font-family:'Arial Black';-inkscape-font-specification:'Arial Black, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#2c3e50;fill-opacity:1;stroke:none;stroke-width:0.0566174"
-       x="100.84997"
-       y="-27.020708"
-       id="text53"><tspan
-         id="tspan51"
-         x="100.84997"
-         y="-27.020708"
-         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.11667px;font-family:'Arial Black';-inkscape-font-specification:'Arial Black, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#2c3e50;fill-opacity:1;stroke-width:0.0566174">AltWalker</tspan></text>
-    <text
-       xml:space="preserve"
-       style="font-style:normal;font-weight:normal;font-size:10.5833px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
-       x="119.16497"
-       y="-65.008255"
-       id="text57"><tspan
-         id="tspan55"
-         x="119.16497"
-         y="-65.008255"
-         style="stroke-width:0.264583" /></text>
-  </g>
 </svg>
diff --git a/docs/source/advanced-usage.rst b/docs/source/advanced-usage.rst
index 58d1681..271a782 100644
--- a/docs/source/advanced-usage.rst
+++ b/docs/source/advanced-usage.rst
@@ -9,3 +9,4 @@ patterns and configuration options of AltWalker.
     :maxdepth: 1
 
     advanced-usage/install-graphwalker
+    advanced-usage/custom-executor
diff --git a/docs/source/how-tos/custom-executor.rst b/docs/source/advanced-usage/custom-executor.rst
similarity index 88%
rename from docs/source/how-tos/custom-executor.rst
rename to docs/source/advanced-usage/custom-executor.rst
index eafa8a8..6b31770 100644
--- a/docs/source/how-tos/custom-executor.rst
+++ b/docs/source/advanced-usage/custom-executor.rst
@@ -8,10 +8,6 @@ a Python3 and C#/.NET executor by default. You can hook up your own executor via
 Your HTTP executor should be able to create a test execution context and execute tests.
 The context is initialized with path to tests provided via load route.
 
-.. contents:: Table of Contents
-    :local:
-    :backlinks: none
-
 
 Executor Routes
 ===============
@@ -50,7 +46,7 @@ argument given to the ``verify``, ``online`` and ``walk`` commands.
 
   .. code-block:: console
 
-    $ curl -X POST -d '{"path": "path/to/my/tests"}}' -H 'Content-Type: application/json'  http://localhost:4200/altwalker/load
+    curl -X POST -d '{"path": "path/to/my/tests"}}' -H 'Content-Type: application/json'  http://localhost:4200/altwalker/load
 
 
 Reset
@@ -74,7 +70,7 @@ Should reset the current execution context.
 
   .. code-block:: console
 
-    $ curl -X PUT http://localhost:4200/altwalker/reset
+    curl -X PUT http://localhost:4200/altwalker/reset
 
 
 Has Model
@@ -106,7 +102,7 @@ Should check if a model exists. Is used by the ``verify`` command.
 
   .. code-block:: console
 
-    $ curl http://localhost:4200/altwalker/hasModel?name="ModelName"
+    curl http://localhost:4200/altwalker/hasModel?name="ModelName"
 
 
 Has Step
@@ -141,11 +137,11 @@ Should checks if a step exists. Is used by the ``verify`` command.
 
   .. code-block:: console
 
-    $ curl http://localhost:4200/altwalker/hasStep?name="setUpRun"
+    curl http://localhost:4200/altwalker/hasStep?name="setUpRun"
 
   .. code-block:: console
 
-    $ curl http://localhost:4200/altwalker/hasStep?name="setUpModel"&modelName="ModelName"
+    curl http://localhost:4200/altwalker/hasStep?name="setUpModel"&modelName="ModelName"
 
 
 Execute Step
@@ -215,7 +211,7 @@ Should executes the step. Is used by the ``online`` and ``walk`` commands.
 
   .. code-block:: console
 
-    $ curl -X POST -d '{"data": {"key": "value"}}' -H 'Content-Type: application/json'  http://localhost:4200/altwalker/hasStep?name="setUpModel"&modelName="ModelName"
+    curl -X POST -d '{"data": {"key": "value"}}' -H 'Content-Type: application/json'  http://localhost:4200/altwalker/hasStep?name="setUpModel"&modelName="ModelName"
 
 
 Error Status Codes
diff --git a/docs/source/advanced-usage/install-graphwalker.rst b/docs/source/advanced-usage/install-graphwalker.rst
index 08be358..4cd7485 100644
--- a/docs/source/advanced-usage/install-graphwalker.rst
+++ b/docs/source/advanced-usage/install-graphwalker.rst
@@ -13,29 +13,31 @@ it:
 
 Run the following commands to install GraphWalker:
 
-.. tabs::
-    .. group-tab:: MacOS/Linux
+
+.. tab:: MacOS/Linux
+
+    .. tab:: wget
 
         .. code-block:: console
 
-            $ wget -q -O - https://raw.githubusercontent.com/altwalker/graphwalker-installer/main/install-graphwalker.py
-            $ python install-graphwalker.py
+            wget -q -O - https://raw.githubusercontent.com/altwalker/graphwalker-installer/main/install-graphwalker.py
+            python install-graphwalker.py
 
-        or
+    .. tab:: git
 
         .. code-block:: console
 
-            $ git clone https://github.com/altwalker/graphwalker-installer.git
-            $ cd graphwalker-installer
-            $ python install-graphwalker.py
+            git clone https://github.com/altwalker/graphwalker-installer.git
+            cd graphwalker-installer
+            python install-graphwalker.py
 
-    .. group-tab:: Windows
+.. tab:: Windows
 
-        .. code-block:: console
+    .. code-block:: console
 
-            > git clone https://github.com/altwalker/graphwalker-installer.git
-            > cd graphwalker-installer
-            > python install-graphwalker.py
+        git clone https://github.com/altwalker/graphwalker-installer.git
+        cd graphwalker-installer
+        python install-graphwalker.py
 
 
 After installing GraphWalker, verify that you have installed the correct
diff --git a/docs/source/api.rst b/docs/source/api.rst
index 1802736..e2779a0 100644
--- a/docs/source/api.rst
+++ b/docs/source/api.rst
@@ -2,12 +2,8 @@
 API Documentation
 =================
 
-This part of the documentation lists the full API reference of all
-public classes and functions.
-
-.. contents:: Table of Contents
-    :local:
-    :backlinks: none
+This section of the documentation provides a complete API reference for
+all public classes and functions.
 
 .. module:: altwalker
 
@@ -145,8 +141,9 @@ for different events:
       :class:`FileReporter` don't generate any report, they only log data).
       It's not called by the :class:`~altwalker.walker.Walker`.
 
-Every reporter should have all this methods, you can inherit them from
-:class:`Reporter` and overwrite only the methods you want.
+Every reporter should have all of these methods. You can inherit them
+from :class:`Reporter` and overwrite only the methods you want.
+
 
 .. autoclass:: Reporter
     :members:
@@ -182,7 +179,7 @@ GraphWalker
 REST Service
 ------------
 
-For more informations check out the `GraphWalker REST API Documentation <https://github.com/GraphWalker/graphwalker-project/wiki/Rest-API-overview>`_.
+For more information check out the `GraphWalker REST API Documentation <https://github.com/GraphWalker/graphwalker-project/wiki/Rest-API-overview>`_.
 
 .. autoclass:: GraphWalkerService
     :members:
@@ -267,14 +264,8 @@ display of :class:`GraphWalkerException` and :class:`AltWalkerException`.
 .. autoexception:: FailedTestsError
     :members:
 
-    .. autoattribute:: exit_code
-
 .. autoexception:: GraphWalkerError
     :members:
 
-    .. autoattribute:: exit_code
-
 .. autoexception:: AltWalkerError
     :members:
-
-    .. autoattribute:: exit_code
diff --git a/docs/source/cli.rst b/docs/source/cli.rst
index 01f2c82..7018e7b 100644
--- a/docs/source/cli.rst
+++ b/docs/source/cli.rst
@@ -2,25 +2,20 @@
 Command Line Interface
 ======================
 
-.. contents:: Table of Contents
-    :local:
-    :backlinks: none
-
-
 ----------
 Invocation
 ----------
 
 .. code-block:: console
 
-    $ altwalker [...]
+    altwalker [...]
 
 You can also invoke the command through the Python interpreter from the
 command line:
 
 .. code-block:: console
 
-    $ python -m altwalker [...]
+    python -m altwalker [...]
 
 
 ----
@@ -101,7 +96,7 @@ If you don't want ``test-project`` to be git repository run the command with
 
 .. code-block:: console
 
-    $ altwalker init test-project -l python --no-git
+    altwalker init test-project -l python --no-git
 
 .. note::
     If you don't have ``git`` installed on your machine use the ``--no-git`` flag.
@@ -112,7 +107,7 @@ with all the classes and methods needed for the models:
 
 .. code-block:: console
 
-    $ altwalker init test-project -m ./first.json -m ./second.json -l python
+    altwalker init test-project -m ./first.json -m ./second.json -l python
 
 The ``test-project`` directory will have the following structure::
 
@@ -142,7 +137,7 @@ The ``test-project`` directory will have the following structure::
 
 .. code-block:: console
 
-    $ altwalker generate . -m models/models.json
+    altwalker generate . -m models/models.json
 
 The command will create a directory named ``test`` with the following
 structure::
@@ -397,7 +392,7 @@ If you want to save the steps in a ``.json`` file you can use the
 
 .. code-block:: console
 
-    $ altwalker offline -m models/login.json "random(length(5))" --output-file steps.json
+    altwalker offline -m models/login.json "random(length(5))" --output-file steps.json
 
 If you use the ``-o/--verbose`` flag, the command will add for each step
 ``data`` (the data for the current module), ``actions`` (the actions
diff --git a/docs/source/conf.py b/docs/source/conf.py
index b1a8f4a..3b097cf 100644
--- a/docs/source/conf.py
+++ b/docs/source/conf.py
@@ -13,8 +13,6 @@
 import os
 import sys
 
-import sphinx_rtd_theme
-
 sys.path.insert(0, os.path.abspath('.'))
 
 
@@ -24,7 +22,7 @@
 # -- Project information -----------------------------------------------------
 
 project = 'AltWalker'
-copyright = '2019, Altom Consulting'
+copyright = '2023, Altom Consulting'
 author = 'Altom Consulting'
 
 # The short X.Y version
@@ -44,11 +42,11 @@
     'sphinx.ext.napoleon',
     'sphinx.ext.intersphinx',
     'sphinx.ext.autosectionlabel',
-    'sphinx_rtd_theme',
-    'sphinx_click.ext',
-    'sphinx_tabs.tabs',
     'notfound.extension',
-    'sphinxcontrib.programoutput',
+    'sphinx_copybutton',
+    'sphinx_inline_tabs',
+    'sphinx_click.ext',
+    'sphinxcontrib.programoutput'
 ]
 
 # Add any paths that contain templates here, relative to this directory.
@@ -74,8 +72,7 @@
 
 # The theme to use for HTML and HTML Help pages.  See the documentation for
 # a list of builtin themes.
-#
-html_theme = 'sphinx_rtd_theme'
+html_theme = 'furo'
 
 # If given, this must be the name of an image file (path relative to the configuration
 # directory) that is the favicon of the docs. Modern browsers use this as the icon for
@@ -90,41 +87,49 @@
 
 # Add any paths that contain custom static files (such as style sheets) here,
 # relative to this directory. They are copied after the builtin static files,
-# so a file named "default.css" will overwrite the builtin "default.css".
+# so a file named 'default.css' will overwrite the builtin 'default.css'.
 html_static_path = ['_static']
 
 # These paths are either relative to html_static_path
 # or fully qualified paths (eg. https://...)
 html_css_files = [
+    'https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/fontawesome.min.css',
+    'https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/solid.min.css',
+    'https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/brands.min.css',
     'css/custom.css',
 ]
 
-# If you want to integrate editing into your own theme.
-# For integrating GitHub
-html_context = {
-    "display_github": True,
-    "github_user": "altwalker",
-    "github_repo": "altwalker",
-    "github_version": "main",
-    "conf_py_path": "/docs/source/",
-}
-
-
 html_theme_options = {
-    'logo_only': True,
-    'display_version': True,
-    'prev_next_buttons_location': 'bottom',
-    'style_external_links': True,
-
-    # Toc options
-    'collapse_navigation': True,
-    'sticky_navigation': True,
-    'navigation_depth': 4,
-    'includehidden': True,
-    'titles_only': False
+    'sidebar_hide_name': True,
+    'navigation_with_keys': True,
+    'top_of_page_button': 'edit',
+    'source_repository': 'https://github.com/altwalker/altwalker',
+    'source_branch': 'main',
+    'source_directory': '/docs/source/',
+    'light_css_variables': {
+        'color-brand-primary': '#166534',
+        'color-brand-content': '#166534',
+    },
+    'dark_css_variables': {
+        'color-brand-primary': '#16a34a',
+        'color-brand-content': '#16a34a',
+    },
+    'footer_icons': [
+        {
+            'name': 'Gitter',
+            'url': 'https://gitter.im/altwalker/community',
+            'html': '',
+            'class': 'mr-2 fa-brands fa-solid fa-gitter fa-lg',
+        },
+        {
+            'name': 'GitHub',
+            'url': 'https://github.com/altwalker/altwalker',
+            'html': '',
+            'class': 'fa-brands fa-solid fa-github fa-lg',
+        }
+    ]
 }
 
-
 # -- Options for InterSphinx -------------------------------------------------
 
 # To add links to modules and objects in the Python standard library
diff --git a/docs/source/core/modeling.rst b/docs/source/core/modeling.rst
index fa42041..0f9d5b2 100644
--- a/docs/source/core/modeling.rst
+++ b/docs/source/core/modeling.rst
@@ -9,10 +9,6 @@ Modeling is the process of translating the behavior and functionalities of the
 be much smaller and simpler than the :term:`SUT` itself. It should focus on just
 the aspects that you want to test and should omit any other details of the :term:`SUT`.
 
-.. contents:: Table of Contents
-    :local:
-    :backlinks: none
-
 
 Model Design
 ------------
diff --git a/docs/source/core/path-generation.rst b/docs/source/core/path-generation.rst
index c5dfc4a..5de84ea 100644
--- a/docs/source/core/path-generation.rst
+++ b/docs/source/core/path-generation.rst
@@ -8,9 +8,6 @@ AltWalker relies on GraphWalker to generate paths through your graph. Both use
 **generators** and **stop conditions** to decide how to walk through the models
 (directed graphs) and when the path (test sequence) is completed.
 
-.. contents:: Table of Contents
-    :local:
-
 
 Generators
 ----------
diff --git a/docs/source/examples.rst b/docs/source/examples.rst
index 1dc0690..221d08e 100644
--- a/docs/source/examples.rst
+++ b/docs/source/examples.rst
@@ -7,19 +7,8 @@ if you need more examples or have questions.
 
 The source code for all examples can be found `here <https://github.com/altwalker/altwalker-examples>`_.
 
-Python
-======
-
 .. toctree::
-    :maxdepth: 2
+    :maxdepth: 1
 
     examples/python/e-commerce-demo
-
-
-C#/.NET
-=======
-
-.. toctree::
-    :maxdepth: 2
-
     examples/dotnet/e-commerce-demo
diff --git a/docs/source/examples/dotnet/e-commerce-demo.rst b/docs/source/examples/dotnet/e-commerce-demo.rst
index 15699c6..da0e1bb 100644
--- a/docs/source/examples/dotnet/e-commerce-demo.rst
+++ b/docs/source/examples/dotnet/e-commerce-demo.rst
@@ -1,5 +1,6 @@
-E-Commerce Demo
-===============
+=======================
+.NET/C# E-Commerce Demo
+=======================
 
 .. meta::
    :description: How to run model-based tests in C#/.NET with Selenium for an e-commerce site
@@ -19,9 +20,6 @@ to generate static files. For cart and order management it uses Snipcart_.
 The website is hosted on `GitHub Pages <https://altwalker.github.io/jekyll-ecommerce/>`_ and its
 forked from `Snipcart on GitHub <https://github.com/snipcart/snipcart-jekyll-integration>`_.
 
-.. contents:: Table of Contents
-    :local:
-    :backlinks: none
 
 Page Object Pattern
 -------------------
@@ -54,31 +52,29 @@ Setup
 
 *  Clone the examples repository, with SSH:
 
-.. tabs::
+.. tab:: SSH
 
-    .. tab:: SSH
+    .. code-block:: console
 
-        .. code-block:: console
+        git clone git@github.com:altwalker/altwalker-examples.git
 
-            $ git clone git@github.com:altwalker/altwalker-examples.git
+.. tab:: HTTPS
 
-    .. tab:: HTTPS
+    .. code-block:: console
 
-        .. code-block:: console
-
-            $ git clone https://github.com/altwalker/altwalker-examples.git
+        git clone https://github.com/altwalker/altwalker-examples.git
 
 * Go into the e-commerce demo directory:
 
 .. code-block:: console
 
-    $ cd altwalker-examples/dotnet-ecommerce
+    cd altwalker-examples/dotnet-ecommerce
 
 * Install nuget packages:
 
 .. code-block:: console
 
-    $ dotnet restore
+    dotnet restore
 
 
 Modeling
@@ -102,7 +98,7 @@ The ``models/navigation.json`` contains **NavigationModel** and the
 ``models/checkout.json`` **CheckoutModel**:
 
 * **NavigationModel** contains edges and vertices that verify homepage and
-  product page behaviour.
+  product page behavior.
 
 .. figure:: ../../_static/img/ecommerce-navigation-model.png
 
@@ -133,8 +129,8 @@ states:
 
 If GraphWalker reaches ``v_cart_open_and_not_empty`` from *NavigationModel*
 model, it will continue on ``v_cart_open_and_not_empty`` in *CheckoutModel*,
-and if reaches ``v_hompage`` from *CheckoutModel* it will continue on with
-``v_homplage`` from *NavigationModel*.
+and if reaches ``v_homepage`` from *CheckoutModel* it will continue on with
+``v_homepage`` from *NavigationModel*.
 
 Separating the model in two smaller models it makes the model and the code
 more maintainable. This makes also easy to run tests with only one model
@@ -278,7 +274,7 @@ Checking the Models
 
 .. code-block:: console
 
-    $ altwalker check -m models/navigation.json "random(edge_coverage(100))"
+    altwalker check -m models/navigation.json "random(edge_coverage(100))"
 
 Checks the integrity of the model(s).
 
@@ -287,15 +283,15 @@ reached.
 
 .. code-block:: console
 
-    $ altwalker check -m models/navigation.json "random(edge_coverage(100))" -m models/checkout.json "random(vertex_coverage(100))"
+    altwalker check -m models/navigation.json "random(edge_coverage(100))" -m models/checkout.json "random(vertex_coverage(100))"
 
 
-Verifing the Code
------------------
+Verifying the Code
+------------------
 
 .. code-block:: console
 
-    $ altwalker verify -l c# -m models/navigation.json tests
+    altwalker verify -l c# -m models/navigation.json tests
 
 Verifies that your model and tests are valid, and that all names
 referred in the model are implemented in ``tests`` package.
@@ -317,7 +313,7 @@ Online Mode
 
 .. code-block:: console
 
-    $ altwalker online -l c# -m models/navigation.json "quick_random(edge_coverage(100))" tests
+    altwalker online -l c# -m models/navigation.json "quick_random(edge_coverage(100))" tests
 
 Walks randomly through the graph until all edges have been passed.
 
@@ -325,14 +321,14 @@ You can also run tests with two models.
 
 .. code-block:: console
 
-    $ altwalker online -l c# -m models/navigation.json "random(edge_coverage(100))" -m models/checkout.json "random(edge_coverage(100))" tests
+    altwalker online -l c# -m models/navigation.json "random(edge_coverage(100))" -m models/checkout.json "random(edge_coverage(100))" tests
 
 Offline Mode
 ~~~~~~~~~~~~
 
 .. code-block:: console
 
-    $ altwalker offline -m models/navigation.json "random(length(15))" -f steps.json
+    altwalker offline -m models/navigation.json "random(length(15))" -f steps.json
 
 Generates a valid path through the test graph and saves the list of
 steps into ``steps.json``.
@@ -343,7 +339,7 @@ steps into ``steps.json``.
 
 .. code-block:: console
 
-    $ altwalker walk -l c# tests steps.json
+    altwalker walk -l c# tests steps.json
 
 Executes (walks on) the steps from the ``steps.json`` file.
 
diff --git a/docs/source/examples/python/e-commerce-demo.rst b/docs/source/examples/python/e-commerce-demo.rst
index 9b2d38d..22dc5cb 100644
--- a/docs/source/examples/python/e-commerce-demo.rst
+++ b/docs/source/examples/python/e-commerce-demo.rst
@@ -1,5 +1,6 @@
-E-Commerce Demo
-===============
+======================
+Python E-Commerce Demo
+======================
 
 .. meta::
    :description: How to run model-based tests in Python with PyPOM and Selenium for an e-commerce site
@@ -19,9 +20,6 @@ to generate static files. For cart and order management it uses Snipcart_.
 The website is hosted on `GitHub Pages <https://altwalker.github.io/jekyll-ecommerce/>`_ and its
 forked from `Snipcart on GitHub <https://github.com/snipcart/snipcart-jekyll-integration>`_.
 
-.. contents:: Table of Contents
-    :local:
-    :backlinks: none
 
 Page Object Pattern
 -------------------
@@ -58,36 +56,32 @@ For this Demo we used geckodriver_ to launch the Firefox browser.
   make sure you set the path to the geckodriver executable in the ``Path``
   variable to make other programs aware of its location.
 
-.. tabs::
+.. tab:: Windows
 
-    .. group-tab:: Windows
+    .. code::
 
-        .. code::
+        > set PATH=%PATH%;C:\bin\geckodriver
 
-            > set PATH=%PATH%;C:\bin\geckodriver
+.. tab:: Linux/MacOS
 
-    .. group-tab:: Linux/MacOS
+    .. code-block:: console
 
-        .. code-block:: console
-
-            $  ln -s /path/to/geckodriver /urs/local/bin/geckodriver
+        $  ln -s /path/to/geckodriver /urs/local/bin/geckodriver
 
 
 *  Clone the examples repository:
 
-.. tabs::
-
-    .. tab:: SSH
+.. tab:: SSH
 
-        .. code-block:: console
+    .. code-block:: console
 
-            $ git clone git@github.com:altwalker/altwalker-examples.git
+        $ git clone git@github.com:altwalker/altwalker-examples.git
 
-    .. tab:: HTTPS
+.. tab:: HTTPS
 
-        .. code-block:: console
+    .. code-block:: console
 
-            $ git clone https://github.com/altwalker/altwalker-examples.git
+        $ git clone https://github.com/altwalker/altwalker-examples.git
 
 
 * Go into the e-commerce demo directory:
@@ -98,21 +92,19 @@ For this Demo we used geckodriver_ to launch the Firefox browser.
 
 * (**Optional**) Create a python virtual environment:
 
-.. tabs::
-
-    .. group-tab:: Windows
+.. tab:: Windows
 
-        .. code::
+    .. code::
 
-            > python3 -m venv .virtualenv
-            > .virtualenv\Scripts\activate
+        > python3 -m venv .virtualenv
+        > .virtualenv\Scripts\activate
 
-    .. group-tab:: Linux/MacOS
+.. tab:: Linux/MacOS
 
-        .. code-block:: console
+    .. code-block:: console
 
-            $ python3 -m venv .virtualenv
-            $ source .virtualenv/bin/activate
+        $ python3 -m venv .virtualenv
+        $ source .virtualenv/bin/activate
 
 * Install the python dependencies:
 
diff --git a/docs/source/faq.rst b/docs/source/faq.rst
index e53a1c4..27a8e77 100644
--- a/docs/source/faq.rst
+++ b/docs/source/faq.rst
@@ -2,7 +2,19 @@
 Frequently Asked Questions
 ==========================
 
-`Contact us <altwalker@altom.com>`_ or go to our `Gitter chat room <https://gitter.im/altwalker/community>`_ if you have any question ideas.
+Welcome to the AltWalker FAQ! Here are some answers to common questions about using AltWalker.
+
+`Contact us <altwalker@altom.com>`_ or go to our `Gitter chat room <https://gitter.im/altwalker/community>`_ if you have any questions.
+
+
+What is Model-Based Testing?
+============================
+
+Model-Based Testing is an approach to software testing that uses models (such
+as directed graphs) to generate test cases. This method is useful because it
+can help ensure that all possible paths through the software are tested, leading
+to more comprehensive test coverage and higher-quality software.
+
 
 What's the difference between AltWalker and GraphWalker?
 ========================================================
@@ -19,6 +31,17 @@ adds support for generating and running tests written in Python3 and C#/.NET wit
 the option of adding support for other languages (by writing your own executor).
 
 
+What are some of the key features of AltWalker?
+===============================================
+
+AltWalker offers several useful features for software testing, including:
+
+* Support for generating and running tests written in Python3 and C#/.NET.
+* The option of adding support for other languages by writing your own executor.
+* A powerful, easy-to-use CLI (command-line interface) for running tests.
+* Seamless integration with other testing tools, such as `Selenium`_ and `Appium`_.
+
+
 Can I use Appium/Selenium with AltWalker?
 =========================================
 
@@ -39,5 +62,13 @@ states of the application. For example an ``e_go_back`` edge that
 will press the back button from multiple pages.
 
 
+How do I get help or support for AltWalker?
+===========================================
+
+If you have any questions or need help with AltWalker, you can contact us at
+`altwalker@altom.com <altwalker@altom.com>`_ or join our `Gitter chat room <https://gitter.im/altwalker/community>`_.
+Our team is happy to assist you with any issues you may encounter.
+
+
 .. _Appium: https://appium.io/
 .. _Selenium: https://www.selenium.dev/
diff --git a/docs/source/how-tos.rst b/docs/source/how-tos.rst
index 36dcfe1..824db30 100644
--- a/docs/source/how-tos.rst
+++ b/docs/source/how-tos.rst
@@ -7,11 +7,9 @@ if you need more tutorials or have questions.
 
 .. toctree::
     :maxdepth: 2
-    :caption: How to:
 
     how-tos/actions-and-guards
     how-tos/shared-state
     how-tos/environment-variables
     how-tos/logs
     how-tos/run-tests-with-docker
-    how-tos/custom-executor
diff --git a/docs/source/how-tos/actions-and-guards.rst b/docs/source/how-tos/actions-and-guards.rst
index 0f3d6ab..35ecfe3 100644
--- a/docs/source/how-tos/actions-and-guards.rst
+++ b/docs/source/how-tos/actions-and-guards.rst
@@ -1,16 +1,12 @@
-======================
-Use actions and guards
-======================
+==============================
+How to: Use actions and guards
+==============================
 
 **Actions** and **Guards** provide a way to split the test based on the data which you use. That
 approach allows you to reuse/combine/change the data for each test separately. It lets you
 to test login with different credentials, or iteration through boundary values and
 equivalent classes.
 
-.. contents:: Table of Contents
-    :local:
-    :backlinks: none
-
 
 Overview
 --------
@@ -128,19 +124,17 @@ And from here there are two paths:
 
         And use the ``init`` command to generate a project from the model (for python or c#):
 
-        .. tabs::
-
-            .. group-tab:: Python
+        .. tab:: Python
 
-                .. code-block:: console
+            .. code-block:: console
 
-                    $ altwalker init action-example -m login.json -l python
+                altwalker init action-example -m login.json -l python
 
-            .. group-tab:: C#/.NET
+        .. tab:: C#/.NET
 
-                .. code-block:: console
+            .. code-block:: console
 
-                    $ altwalker init action-example -m login.json -l c#
+                altwalker init action-example -m login.json -l c#
 
         And then you can run the example.
 
diff --git a/docs/source/how-tos/environment-variables.rst b/docs/source/how-tos/environment-variables.rst
index 766f91d..a956602 100644
--- a/docs/source/how-tos/environment-variables.rst
+++ b/docs/source/how-tos/environment-variables.rst
@@ -1,5 +1,6 @@
-Pass environment variables to your tests
-----------------------------------------
+================================================
+How to: Pass environment variables to your tests
+================================================
 
 Running your tests may require different test context based on your
 environment. You may want to have different configurations options which
@@ -7,34 +8,31 @@ you pass as environment variables, or you write them in a configuration file.
 
 Setting environment variable:
 
-.. tabs::
+.. tab:: MacOS/Linux
 
-    .. group-tab:: MacOS/Linux
+    .. code-block:: console
 
-        .. code-block:: console
+        export TESTS_CONF_FILE="conf.production.json"
+        altwalker online tests -m models/models.json "random(vertex_coverage(30))"
 
-            $ export TESTS_CONF_FILE="conf.production.json"
-            $ altwalker online tests -m models/models.json "random(vertex_coverage(30))"
+.. tab:: Windows
 
-    .. group-tab:: Windows
+    .. code-block:: console
 
-        .. code-block:: console
-
-            > set TESTS_CONF_FILE="conf.production.json"
-            > altwalker online tests -m models/models.json "random(vertex_coverage(30))"
+        set TESTS_CONF_FILE="conf.production.json"
+        altwalker online tests -m models/models.json "random(vertex_coverage(30))"
 
 
 Accessing environment variable in your tests:
 
-.. tabs::
-    .. group-tab:: Python
+.. tab:: Python
 
-        .. code-block:: py
+    .. code-block:: py
 
-            config_file = os.environ.get("TESTS_CONF_FILE", "conf.development.json")
+        config_file = os.environ.get("TESTS_CONF_FILE", "conf.development.json")
 
-    .. group-tab:: C#
+.. tab:: C#
 
-        .. code-block:: c#
+    .. code-block:: c#
 
-            var configFile = Environment.GetEnvironmentVariable("TESTS_CONF_FILE") ?? "conf.development.json";
+        var configFile = Environment.GetEnvironmentVariable("TESTS_CONF_FILE") ?? "conf.development.json";
diff --git a/docs/source/how-tos/logs.rst b/docs/source/how-tos/logs.rst
index 8b69a80..4073dc2 100644
--- a/docs/source/how-tos/logs.rst
+++ b/docs/source/how-tos/logs.rst
@@ -1,14 +1,10 @@
-========================
-Log data from your tests
-========================
+================================
+How to: Log data from your tests
+================================
 
 Logging information is critical to the development and maintenance of your tests. AltWalker
 collects stdout and returned data from your tests.
 
-.. contents:: Table of Contents
-    :local:
-    :backlinks: none
-
 
 Stdout
 ------
@@ -16,64 +12,58 @@ Stdout
 AltWalker captures stdout data from each test and outputs it to the stdout of altwalker cli,
 or to a file if ``--report-file`` option is used.
 
+.. tab:: Python
 
-.. tabs::
-
-    .. group-tab:: Python
-
-        .. code-block:: python
-
-            class Simple:
-                def vertex_a(self, *args):
-                    print("Simple.vertex_a")
+    .. code-block:: python
 
-        .. code-block:: console
-            :emphasize-lines: 3
+        class Simple:
+            def vertex_a(self, *args):
+                print("Simple.vertex_a")
 
-            [2020-04-27 14:26:20.731201] Simple.vertex_a Status: PASSED
-            Output:
-            Simple.vertex_a
+    .. code-block:: console
+        :emphasize-lines: 3
 
+        [2020-04-27 14:26:20.731201] Simple.vertex_a Status: PASSED
+        Output:
+        Simple.vertex_a
 
+.. tab:: C#/.NET
 
-    .. group-tab:: C#/.NET
+    .. code-block:: c#
 
-        .. code-block:: c#
-
-            public class WalletModel
+        public class WalletModel
+        {
+            public void vertex_a()
             {
-                public void vertex_a()
-                {
-                    Trace.WriteLine("Simple.vertex_a");
-                }
+                Trace.WriteLine("Simple.vertex_a");
             }
+        }
 
-        .. code-block:: console
-            :emphasize-lines: 3
+    .. code-block:: console
+        :emphasize-lines: 3
 
-            [2020-04-27 14:26:20.731201] Simple.vertex_a Status: PASSED
-            Output:
-            Simple.vertex_a
+        [2020-04-27 14:26:20.731201] Simple.vertex_a Status: PASSED
+        Output:
+        Simple.vertex_a
 
-    .. group-tab:: Custom Executor
+.. tab:: Custom Executor
 
-        Execute Step response:
+    Execute Step response:
 
-        .. code-block:: json
+    .. code-block:: json
 
-            {
-                "payload": {
-                    "output": "Simple.vertex_a"
-                }
+        {
+            "payload": {
+                "output": "Simple.vertex_a"
             }
+        }
 
-        .. code-block:: console
-            :emphasize-lines: 3
-
-            [2020-04-27 14:26:20.731201] Simple.vertex_a Status: PASSED
-            Output:
-            Simple.vertex_a
+    .. code-block:: console
+        :emphasize-lines: 3
 
+        [2020-04-27 14:26:20.731201] Simple.vertex_a Status: PASSED
+        Output:
+        Simple.vertex_a
 
 
 Returned data from tests
@@ -82,68 +72,65 @@ Returned data from tests
 AltWalker captures return value from each test and outputs it to the stdout of altwalker
 cli, or to a file if ``--report-file`` option is used.
 
-.. tabs::
-
-    .. group-tab:: Python
+.. tab:: Python
 
-        Return any json serializable object
+    Return any json serializable object
 
-        .. code-block:: python
+    .. code-block:: python
 
-            class Simple:
-                def vertex_a(self, *args):
-                    return { "key" : "value" }
+        class Simple:
+            def vertex_a(self, *args):
+                return { "key" : "value" }
 
-        .. code-block:: console
-            :emphasize-lines: 3-5
+    .. code-block:: console
+        :emphasize-lines: 3-5
 
-            [2020-04-27 14:26:20.731201] Simple.vertex_a Status: PASSED
-            Result:
-            {
-                "key": "value"
-            }
+        [2020-04-27 14:26:20.731201] Simple.vertex_a Status: PASSED
+        Result:
+        {
+            "key": "value"
+        }
 
-    .. group-tab:: C#/.NET
+.. tab:: C#/.NET
 
-        Return any json serializable object
+    Return any json serializable object
 
-        .. code-block:: c#
+    .. code-block:: c#
 
-            public class WalletModel
+        public class WalletModel
+        {
+            public object vertex_a()
             {
-                public object vertex_a()
-                {
-                    return new Dictionary<string, string> () { {"key", "value" } };
-                }
+                return new Dictionary<string, string> () { {"key", "value" } };
             }
+        }
 
-        .. code-block:: console
-            :emphasize-lines: 3-5
-
-            [2020-04-27 14:26:20.731201] Simple.vertex_a Status: PASSED
-            Result:
-            {
-                "key": "value"
-            }
+    .. code-block:: console
+        :emphasize-lines: 3-5
 
+        [2020-04-27 14:26:20.731201] Simple.vertex_a Status: PASSED
+        Result:
+        {
+            "key": "value"
+        }
 
-    .. group-tab:: Custom Executor
+.. tab:: Custom Executor
 
-        Execute Step response:
+    Execute Step response:
 
-        .. code-block:: json
+    .. code-block:: json
 
-            {
-                "payload": {
-                    "result": {"key" : "value"}
-                }
+        {
+            "payload": {
+                "result": {"key" : "value"}
             }
+        }
 
-        .. code-block:: console
-            :emphasize-lines: 3-5
+    .. code-block:: console
+        :emphasize-lines: 3-5
 
-            [2020-04-27 14:26:20.731201] Simple.vertex_a Status: PASSED
-            Result:
-            {
-                "key": "value"
-            }
+        [2020-04-27 14:26:20.731201] Simple.vertex_a Status: PASSED
+        Result:
+        {
+            "key": "value"
+        }
diff --git a/docs/source/how-tos/shared-state.rst b/docs/source/how-tos/shared-state.rst
index d3046d6..2dd0ae2 100644
--- a/docs/source/how-tos/shared-state.rst
+++ b/docs/source/how-tos/shared-state.rst
@@ -1,13 +1,10 @@
-=================
-Use shared states
-=================
+=========================
+How to: Use shared states
+=========================
 
 **Shared states** provide a way to split your models into smaller models that are linked together
 by one vertex from each model that have the same **shared state**.
 
-.. contents:: Table of Contents
-    :local:
-    :backlinks: none
 
 Overview
 --------
@@ -111,35 +108,33 @@ or form both.
 
         And use the ``init`` command to generate a project from the model (for python or c#):
 
-        .. tabs::
+        .. tab:: Python
 
-            .. group-tab:: Python
+            .. code-block:: console
 
-                .. code-block:: console
+                $ altwalker init shared-states-example -m blog.json -l python
 
-                    $ altwalker init shared-states-example -m blog.json -l python
+            Or:
 
-                Or:
+            .. code-block:: console
 
-                .. code-block:: console
+                $ altwalker init shared-states-example -l python \
+                    -m blog-navigation.json \
+                    -m blog-post.json
 
-                    $ altwalker init shared-states-example -l python \
-                        -m blog-navigation.json \
-                        -m blog-post.json
+        .. tab:: C#/.NET
 
-            .. group-tab:: C#/.NET
+            .. code-block:: console
 
-                .. code-block:: console
+                $ altwalker init shared-states-example -m blog.json -l c#
 
-                    $ altwalker init shared-states-example -m blog.json -l c#
+            Or:
 
-                Or:
+            .. code-block:: console
 
-                .. code-block:: console
-
-                    $ altwalker init shared-states-example -l c# \
-                        -m blog-navigation.json \
-                        -m blog-post.json
+                $ altwalker init shared-states-example -l c# \
+                    -m blog-navigation.json \
+                    -m blog-post.json
 
         And then you can run the example.
 
diff --git a/docs/source/index.rst b/docs/source/index.rst
index d3ce287..af6ca96 100644
--- a/docs/source/index.rst
+++ b/docs/source/index.rst
@@ -57,6 +57,7 @@ usage patterns.
 
     C#/.NET <https://www.nuget.org/packages/AltWalker.Executor/>
 
+
 .. toctree::
     :caption: Community:
 
diff --git a/docs/source/installation.rst b/docs/source/installation.rst
index 4acbbd3..9f99db7 100644
--- a/docs/source/installation.rst
+++ b/docs/source/installation.rst
@@ -8,9 +8,8 @@ Installation
 
 .. sidebar:: For Docker Users
 
-    If you want to use AltWalker with Docker you can skip this section.
-
-    Read more in the: :doc:`how-tos/run-tests-with-docker` section.
+    If you plan to use AltWalker with Docker, you can skip this section and
+    proceed to the :doc:`how-tos/run-tests-with-docker` section for more information."
 
 
 Prerequisites
@@ -45,7 +44,7 @@ To install ``altwalker`` run the following command in your command line:
 
 .. code-block:: console
 
-    $ pip install -U altwalker
+    pip install -U altwalker
 
 
 Alternatively, if you have multiple Python versions installed, you can use the
@@ -53,7 +52,7 @@ following command to specify the Python version:
 
 .. code-block:: console
 
-    $ python<version> -m pip install -U altwalker
+    python<version> -m pip install -U altwalker
 
 
 To check that you have installed the correct version of AltWalker, run the
@@ -66,11 +65,11 @@ Living on the edge
 ------------------
 
 If you want to work with the latest code before it’s released, install
-or update the code from the `develop` branch:
+or update the code from the ``develop`` branch:
 
 .. code-block:: console
 
-    $ pip install -U git+https://github.com/altwalker/altwalker
+    pip install -U git+https://github.com/altwalker/altwalker
 
 
 Install .NET Core (Optional)
@@ -90,7 +89,7 @@ under a different path. In this case create a symbolic link:
 
 .. code-block:: console
 
-    $ ln -s /path/to/dotnet /usr/bin/dotnet
+    ln -s /path/to/dotnet /usr/bin/dotnet
 
 
 Install GraphWalker (Optional)
diff --git a/docs/source/quickstart.rst b/docs/source/quickstart.rst
index cf6d990..5774624 100644
--- a/docs/source/quickstart.rst
+++ b/docs/source/quickstart.rst
@@ -2,130 +2,122 @@
 Quickstart
 ==========
 
-Eager to get started? This page gives a good introduction to AltWalker. It assumes
-you already have AltWalker installed. If you do not, head over to the :doc:`installation` section.
+Are you eager to get started with AltWalker? This page provides a good
+introduction to the framework. It assumes that you have already installed
+AltWalker. If you haven't, head over to the :doc:`installation` section.
 
-In this section you will learn how to create a tests project from scratch or from
-existing models, how to validate your models, how to validate your code and how to run
-your tests with AltWalker.
+In this section, you will learn how to create a new project from scratch or
+existing models, validate your models, validate your code, and run your tests
+with AltWalker.
 
-.. contents:: Table of Contents
-    :local:
-    :backlinks: none
 
+Create a New Project
+====================
 
-Start from scratch
-==================
+You can use the ``init`` command to create a new project.
 
-You can use the ``init`` command to generate a new project.
+The ``init`` command creates a project directory and initializes a git
+repository. The project contains a sample model (``models/default.json``) to
+help you get started, and a test package containing the template code for the
+model (``tests/``).
 
-The ``init`` command creates a project directory and initialize a git repository. The
-project contains a sample model (``models/default.json``) that will help you get started,
-and a test package containing the template code for the model (``tests/``).
+.. tab:: Python
 
-.. tabs::
+    .. code::
 
-    .. group-tab:: Python
+        $ altwalker init -l python test-project
 
-        .. code::
+    Using the ``-l python`` option generates a Python package containing the template code for the model (``tests/``).
 
-            $ altwalker init -l python test-project
+    .. code::
 
-        Using the ``-l python`` option will generate a python package containing the template code for the model (``tests/``).
+        test-project/
+        ├── models/
+        │   ├── default.json
+        └── tests/
+            ├── __init__.py
+            └── test.py
 
-        .. code::
+.. tab:: C#/.NET
 
-            test-project/
-            ├── models/
-            │   ├── default.json
-            └── tests/
-                ├── __init__.py
-                └── test.py
+    .. code::
 
-    .. group-tab:: C#/.NET
+        $ altwalker init -l dotnet test-project
 
-        .. code::
+    Using the ``-l dotnet`` option generates a .NET/C# project referring to ``AltWalker.Executor`` from Nuget, a class for the model, and ``Program.cs``.
 
-            $ altwalker init -l c# test-project
+    .. code::
 
-        Using the ``-l c#`` option will generate a C# project referring ``AltWalker.Executor`` from Nuget, a class for the model and ``Program.cs``.
+        test-project/
+        ├── models/
+        │   ├── default.json
+        └── tests/
+            ├── Program.cs
+            └── tests.csproj
 
-        .. code::
+    ``Program.cs`` contains the entry point of the tests and starts the ``ExecutorService``.
 
-            test-project/
-            ├── models/
-            │   ├── default.json
-            └── tests/
-                ├── Program.cs
-                └── tests.csproj
+    .. code-block:: c#
 
-        The ``Program.cs`` contains the entry point of the tests and starts the ``ExecutorService``.
-
-        .. code-block:: c#
-
-            public class Program
+        public class Program
+        {
+            public static void Main(string[] args)
             {
-                public static void Main(string[] args)
-                {
-                    ExecutorService service = new ExecutorService();
-                    service.RegisterModel<DefaultModel>();
-                    service.Run(args);
-                }
+                ExecutorService service = new ExecutorService();
+                service.RegisterModel<DefaultModel>();
+                service.Run(args);
             }
+        }
 
 .. note::
 
-    If you don't want the ``init`` command to initialize a git repository use ``--no-git`` option.
+    If you don't want the ``init`` command to initialize a git repository, use the ``--no-git`` option.
 
-To run the tests for the `default.json` model, run the following command:
 
-.. tabs::
+To run the tests for the ``default.json`` model, run the following command:
 
-    .. group-tab:: Python
+.. tab:: Python
 
-        .. code::
+    .. code::
 
-            $ cd test-project
-            $ altwalker online tests -m models/default.json "random(edge_coverage(100))"
+        cd test-project
+        altwalker online tests -m models/default.json "random(edge_coverage(100))"
 
+.. tab:: C#/.NET
 
-    .. group-tab:: C#/.NET
+    .. code::
 
-        .. code::
+        cd test-project
+        altwalker online -l dotnet tests -m models/default.json "random(edge_coverage(100))"
 
-            $ cd test-project
-            $ altwalker online -x c# tests -m models/default.json "random(edge_coverage(100))"
 
-
-The above command runs the tests found within the ``tests`` folder, based on the
+The above command runs the tests found within the ``tests/`` folder, based on the
 model defined in ``default.json`` and using the ``random(edge_coverage(100))``
 stop condition.
 
 
-Start from existing models
-==========================
+Create a Project from Existing Models
+=====================================
 
-You can use the ``init`` command to generate a new project form existing models.
+You can use the ``init`` command to create a new project from existing models.
 
 The ``init`` command creates a project directory with your model(s),
-generates the code template for the model(s) and initialize a git repository.
+generates the code template for the model(s), and initialize a git repository.
 
-To generate a project you should replace the ``path/to/model-name.json`` and
+To generate a project, replace ``path/to/model-name.json`` and
 run the following command:
 
-.. tabs::
-
-    .. group-tab:: Python
+.. tab:: Python
 
-        .. code::
+    .. code::
 
-            $ altwalker init -l python test-project -m path/to/model-name.json
+        altwalker init -l python test-project -m path/to/model-name.json
 
-    .. group-tab:: C#/.NET
+.. tab:: C#/.NET
 
-        .. code::
+    .. code::
 
-            $ altwalker init -l dotnet test-project -m path/to/model-name.json
+        altwalker init -l dotnet test-project -m path/to/model-name.json
 
 
 .. note::
@@ -136,56 +128,74 @@ run the following command:
 To run the tests for the your model, replace ``model-name.json`` with the
 name of you model file and run the following command:
 
-.. tabs::
+.. tab:: Python
 
-    .. group-tab:: Python
+    .. code::
 
-        .. code::
+        cd test-project
+        altwalker online tests -m models/model-name.json "random(edge_coverage(100))"
 
-            $ cd test-project
-            $ altwalker online tests -m models/model-name.json "random(edge_coverage(100))"
 
+.. tab:: C#/.NET
 
-    .. group-tab:: C#/.NET
+    .. code::
 
-        .. code::
+        cd test-project
+        altwalker online -l dotnet tests -m models/model-name.json "random(edge_coverage(100))"
 
-            $ cd test-project
-            $ altwalker online -x c# tests -m models/model-name.json "random(edge_coverage(100))"
-
-The above command runs the tests found within the ``tests`` folder,
-based on the model defined in ``default.json`` and using the
-``random(edge_coverage(100))`` stop condition.
+The above command runs the tests found within the ``tests/`` folder, based on the
+model defined in ``models/model-name.json`` and using the ``random(edge_coverage(100))``
+stop condition.
 
 
 Check your models
 =================
 
-You can use the ``check`` command to check your models for issues.
+You can use the ``check`` command to check your models for issues. This command
+can detect errors, deadlocks, unreachable states, and other model issues.
 
 .. code::
 
-    $ altwalker check -m models/model-name.json "random(never)"
+    altwalker check -m models/model-name.json "random(never)"
 
 
 Verify your code
 ================
 
-You can use the ``verify`` command to check your code against the models for issues.
+You can use the ``verify`` command to check your code against the models for
+issues. This command can detect syntax errors, missing classes or methods, and
+other issues in your code.
+
+.. tab:: Python
+
+    .. code::
+
+        altwalker verify tests -l python -m models/model-name.json
+
+.. tab:: C#/.NET
+
+    .. code::
+
+        altwalker verify tests -l dotnet -m models/model-name.json
+
+
+Run your tests
+==============
 
-.. tabs::
+You can use the ``online`` command to run your tests based on the model defined
+in your project.
 
-    .. group-tab:: Python
+.. tab:: Python
 
-        .. code::
+    .. code::
 
-            $ altwalker verify tests -l python -m models/model-name.json
+        altwalker online tests -m models/default.json "random(edge_coverage(100))"
 
-    .. group-tab:: C#/.NET
+.. tab:: C#/.NET
 
-        .. code::
+    .. code::
 
-            $ altwalker verify tests -l dotnet -m models/model-name.json
+        altwalker online -l dotnet tests -m models/default.json "random(edge_coverage(100))"
 
 
 Further Reading/Useful Links
@@ -193,7 +203,7 @@ Further Reading/Useful Links
 
 Depending on how new you are to AltWalker you can:
 
-- Read about how to design your models on the :doc:`core/modeling` section
-- Read about how to structure your tests on the :doc:`core/tests-structure` section
-- Checkout the :doc:`examples`
-- Dig deeper into the :doc:`cli`
+- Read about how to design your models on the :doc:`core/modeling` section.
+- Read about how to structure your tests on the :doc:`core/tests-structure` section.
+- Checkout the :doc:`examples`.
+- Dig deeper into the :doc:`cli`.
diff --git a/requirements-dev.txt b/requirements-dev.txt
index b6c0f38..94b7f29 100644
--- a/requirements-dev.txt
+++ b/requirements-dev.txt
@@ -2,11 +2,13 @@ setuptools>=38.6.0
 wheel>=0.31.0
 twine>=1.11.0
 
+furo
 sphinx
-sphinx-rtd-theme
 sphinx-click
-sphinx-tabs
+sphinx_inline_tabs
 sphinx-notfound-page
+sphinx-autobuild
+sphinx-copybutton
 sphinxcontrib-programoutput
 
 doc8


Test patch:
diff --git a/docs/source/core/running-tests.rst b/docs/source/core/running-tests.rst
index bcecb2b..0986b5e 100644
--- a/docs/source/core/running-tests.rst
+++ b/docs/source/core/running-tests.rst
@@ -12,11 +12,6 @@ AltWalker supports two ways or running tests:
 2. Offline Mode: With the ``offline`` and ``walk`` commands.
 
 
-.. contents:: Table of Contents
-    :local:
-    :backlinks: none
-
-
 Online Mode
 -----------
 
@@ -32,19 +27,17 @@ The online mode can be roughly described by de following algorithm:
 
 In order to run your tests in online mode you need to use the ``online`` command:
 
-.. tabs::
+.. tab:: Python
 
-    .. group-tab:: Python
+    .. code::
 
-        .. code::
+        altwalker online tests -m models/default.json "random(vertex_coverage)"
 
-            $ altwalker online tests -m models/default.json "random(vertex_coverage)"
+.. tab:: C#/.NET
 
-    .. group-tab:: C#/.NET
+    .. code::
 
-        .. code::
-
-            $ altwalker online tests -l dotnet -m models/default.json "random(vertex_coverage)"
+        altwalker online tests -l dotnet -m models/default.json "random(vertex_coverage)"
 
 
 **Example**
@@ -144,7 +137,7 @@ You can use the ``offline`` command to generate a test path (test case).
 
 .. code::
 
-    $ altwalker offline -m models/default.json "random(vertex_coverage)" -f steps.json
+    altwalker offline -m models/default.json "random(vertex_coverage)" -f steps.json
 
 .. note::
 
@@ -163,19 +156,17 @@ Running paths
 After you generated a test path and saved it to a file you can run it with the ``walk``
 command.
 
-.. tabs::
-
-    .. group-tab:: Python
+.. tab:: Python
 
-        .. code::
+    .. code::
 
-            $ altwalker walk tests steps.json
+        altwalker walk tests steps.json
 
-    .. group-tab:: C#/.NET
+.. tab:: C#/.NET
 
-        .. code::
+    .. code::
 
-            $ altwalker walk tests steps.json -l dotnet
+        altwalker walk tests steps.json -l dotnet
 
 The ``walk`` command will read the file and execute the steps.
 
diff --git a/docs/source/core/tests-structure.rst b/docs/source/core/tests-structure.rst
index e44f770..101cf8f 100644
--- a/docs/source/core/tests-structure.rst
+++ b/docs/source/core/tests-structure.rst
@@ -20,110 +20,104 @@ of the models.
 
 Now AltWalker supports two languages: Python and C#/.NET.
 
-.. contents:: Table of Contents
-    :local:
-    :backlinks: none
-
 
 Structure
 ---------
 
-.. tabs::
+.. tab:: Python
 
-    .. group-tab:: Python
+    AltWalker requires a python package (usually named ``tests``) and inside a python module named  ``test.py``.
 
-        AltWalker requires a python package (usually named ``tests``) and inside a python module named  ``test.py``.
+    .. code::
 
-        .. code::
+        test-project/
+        ├── models/
+        │   └── ...
+        └── tests/
+            ├── __init__.py
+            └── test.py
 
-            test-project/
-            ├── models/
-            │   └── ...
-            └── tests/
-                ├── __init__.py
-                └── test.py
+    Inside ``test.py`` each model is implemented in a class, and each
+    vertex/edge in a method inside the class.
 
-        Inside ``test.py`` each model is implemented in a class, and each
-        vertex/edge in a method inside the class.
+    .. code-block:: python
 
-        .. code-block:: python
+        # tests/test.py
 
-            # tests/test.py
+        class ModelA:
+            """The implementation of the model named ModelA."""
 
-            class ModelA:
-                """The implementation of the model named ModelA."""
+            def vertex_a(self):
+                """The implementation of the vertex named vertex_a form ModelA."""
 
-                def vertex_a(self):
-                    """The implementation of the vertex named vertex_a form ModelA."""
+            def edge_a(self):
+                """The implementation of the edge named edge_a form ModelA."""
 
-                def edge_a(self):
-                    """The implementation of the edge named edge_a form ModelA."""
 
+        class ModelB:
+            """The implementation of the model named ModelB."""
 
-            class ModelB:
-                """The implementation of the model named ModelB."""
+            def vertex_b(self):
+                """The implementation of the vertex named vertex_b form ModelB."""
 
-                def vertex_b(self):
-                    """The implementation of the vertex named vertex_b form ModelB."""
+            def edge_b(self):
+                """The implementation of the edge named edge_b form ModelB."""
 
-                def edge_b(self):
-                    """The implementation of the edge named edge_b form ModelB."""
+.. tab:: C#/.NET
 
-    .. group-tab:: C#/.NET
+    AltWalker requires a C# console application that depends on `AltWalker.Executor <https://www.nuget.org/packages/AltWalker.Executor/>`_ from NuGet and runs the ``ExecutorService``.
 
-        AltWalker requires a C# console application that depends on `AltWalker.Executor <https://www.nuget.org/packages/AltWalker.Executor/>`_ from NuGet and runs the ``ExecutorService``.
+    .. code::
 
-        .. code::
+        test-project/
+        ├── models/
+        │   └── ...
+        └── tests/
+            ├── Program.cs
+            └── test-project.csproj
 
-            test-project/
-            ├── models/
-            │   └── ...
-            └── tests/
-                ├── Program.cs
-                └── test-project.csproj
+    .. code-block:: c#
 
-        .. code-block:: c#
+        /// Program.cs
+        using Altom.AltWalker;
 
-            /// Program.cs
-            using Altom.AltWalker;
-
-            namespace Test.Project
+        namespace Test.Project
+        {
+            /// The implementation of the model named ModelA.
+            public class ModelA
             {
-                /// The implementation of the model named ModelA.
-                public class ModelA
-                {
-                    /// The implementation of the vertex named vertex_a.
-                    public void vertex_a() {}
+                /// The implementation of the vertex named vertex_a.
+                public void vertex_a() {}
 
-                    /// The implementation of the edge named edge_a
-                    public void edge_a() {}
-                }
+                /// The implementation of the edge named edge_a
+                public void edge_a() {}
+            }
 
-                /// The implementation of the model named ModelB.
-                public class ModelB
-                {
-                    /// The implementation of the vertex named vertex_b.
-                    public void vertex_b() {}
+            /// The implementation of the model named ModelB.
+            public class ModelB
+            {
+                /// The implementation of the vertex named vertex_b.
+                public void vertex_b() {}
 
-                    /// The implementation of the edge named edge_b
-                    public void edge_b() {}
-                }
+                /// The implementation of the edge named edge_b
+                public void edge_b() {}
+            }
 
-                public class Program
+            public class Program
+            {
+                public static void Main (string[] args)
                 {
-                    public static void Main (string[] args)
-                    {
-                        ExecutorService service = new ExecutorService();
+                    ExecutorService service = new ExecutorService();
 
-                        service.RegisterModel<ModelA>();
-                        service.RegisterModel<ModelB>();
+                    service.RegisterModel<ModelA>();
+                    service.RegisterModel<ModelB>();
 
-                        service.Start(args);
-                    }
+                    service.Start(args);
                 }
             }
+        }
 
-        The ``AltWalker.Executor`` targets .netstandard 2.0.
+    The ``AltWalker.Executor`` targets .netstandard 2.0.
 
 Fixtures
 --------
@@ -139,81 +133,80 @@ unittest module:
 
 All fixtures are optional.
 
-.. tabs::
+.. tab::  Python
 
-    .. group-tab:: Python
+    .. code-block:: python
 
-        .. code-block:: python
+        # tests/test.py
 
-            # tests/test.py
+        def setUpRun():
+            """Will be executed first, before anything else."""
 
-            def setUpRun():
-                """Will be executed first, before anything else."""
+        def tearDownRun():
+            """Will be executed last."""
 
-            def tearDownRun():
-                """Will be executed last."""
 
+        class ModelA:
 
-            class ModelA:
+            def setUpModel(self):
+                """Will be executed before executing any step from this model."""
 
-                def setUpModel(self):
-                    """Will be executed before executing any step from this model."""
+            def tearDownModel(self):
+                """Will be executed after executing all steps from this model."""
 
-                def tearDownModel(self):
-                    """Will be executed after executing all steps from this model."""
+            def vertex_a(self):
+                pass
 
-                def vertex_a(self):
-                    pass
+            def edge_a(self):
+                pass
 
-                def edge_a(self):
-                    pass
+.. tab::  C#/.NET
 
-    .. group-tab:: C#/.NET
+    Define ``setUpRun`` and ``tearDownRun`` inside a ``Setup`` class, and
+    register it inside the executor service: ``ExecutorService.RegisterSetup<T>();``
 
-        Define ``setUpRun`` and ``tearDownRun`` inside a ``Setup`` class, and
-        register it inside the executor service: ``ExecutorService.RegisterSetup<T>();``
+    Define ``setUpModel`` and ``tearDownModel`` inside the model class.
 
-        Define ``setUpModel`` and ``tearDownModel`` inside the model class.
+    .. code-block:: c#
 
-        .. code-block:: c#
+        /// Program.cs
+        using Altom.AltWalker;
 
-            /// Program.cs
-            using Altom.AltWalker;
-
-            namespace Test.Project
+        namespace Test.Project
+        {
+            public class Setup
             {
-                public class Setup
-                {
-                    /// Will be executed first, before anything else.
-                    public void setUpRun() {}
+                /// Will be executed first, before anything else.
+                public void setUpRun() {}
 
-                    /// Will be executed first, after anything else.
-                    public void tearDownRun() {}
-                }
+                /// Will be executed first, after anything else.
+                public void tearDownRun() {}
+            }
 
-                /// The implementation of the model named ModelA.
-                public class ModelA
-                {
-                    /// Will be executed before executing all steps from this model
-                    public void setUpModel() {}
+            /// The implementation of the model named ModelA.
+            public class ModelA
+            {
+                /// Will be executed before executing all steps from this model
+                public void setUpModel() {}
 
-                    /// Will be executed after executing all steps from this model
-                    public void tearDownModel() {}
-                }
+                /// Will be executed after executing all steps from this model
+                public void tearDownModel() {}
+            }
 
-                public class Program
+            public class Program
+            {
+                public static void Main (string[] args)
                 {
-                    public static void Main (string[] args)
-                    {
-                        ExecutorService service = new ExecutorService();
+                    ExecutorService service = new ExecutorService();
 
-                        service.RegisterSetup<Setup>();
-                        service.RegisterModel<ModelA>();
+                    service.RegisterSetup<Setup>();
+                    service.RegisterModel<ModelA>();
 
-                        service.Start(args);
-                    }
+                    service.Start(args);
                 }
             }
+        }
+
 
 Read/Update Graph Data
 ----------------------
@@ -228,47 +221,44 @@ This method is a way of executing actions from you test code.
 Updating the graph data can affect the path generation so this feature in not
 available in :ref:`core/running-tests:Offline Mode`.
 
-.. tabs::
-
-    .. group-tab:: Python
+.. tab:: Python
 
-        The second parameter will be a ``dict`` object, that object allows you to read and update the graph data.
-
-        .. code-block:: python
+    The second parameter will be a ``dict`` object, that object allows you to read and update the graph data.
 
-            def element_method(self, data):
-                """A simple example of a method for a vertex/edge inside a model.
+    .. code-block:: python
 
-                Args:
-                    data: AltWalker will pass a ``dict`` object.
-                """
+        def element_method(self, data):
+            """A simple example of a method for a vertex/edge inside a model.
 
-                # to get the value for a single key
-                value = data["key"]
+            Args:
+                data: AltWalker will pass a ``dict`` object.
+            """
 
-                # to set a new value for a key
-                data["strVariable"] = "new_value"
-                data["intVariable"] = 1
-                data["boolVariable"] = True
+            # to get the value for a single key
+            value = data["key"]
 
+            # to set a new value for a key
+            data["strVariable"] = "new_value"
+            data["intVariable"] = 1
+            data["boolVariable"] = True
 
-    .. group-tab:: C#/.NET
+.. tab:: C#/.NET
 
-        The second parameter will be a ``IDictionary<string, dynamic>`` object, that object allows you to read and update the graph data.
+    The second parameter will be a ``IDictionary<string, dynamic>`` object, that object allows you to read and update the graph data.
 
-        .. code-block:: c#
+    .. code-block:: c#
 
-            /// A simple example of a method for a vertex/edge inside a model.
-            public void element_method(IDictionary<string, dynamic> data)
-            {
-                // to get the value for a single key
-                string value = data["key"]
+        /// A simple example of a method for a vertex/edge inside a model.
+        public void element_method(IDictionary<string, dynamic> data)
+        {
+            // to get the value for a single key
+            string value = data["key"]
 
-                // to set a new value for a key
-                data["strVariable"] = "new_value"
-                data["intVariable"] = 1
-                data["boolVariable"] = true
-            }
+            // to set a new value for a key
+            data["strVariable"] = "new_value"
+            data["intVariable"] = 1
+            data["boolVariable"] = true
+        }
 
 .. warning::
 
@@ -278,52 +268,47 @@ available in :ref:`core/running-tests:Offline Mode`.
 
     * for integers
 
-    .. tabs::
+    .. tab:: Python
 
-        .. group-tab:: Python
-
-            .. code-block:: python
+        .. code-block:: python
 
-                value = int(data["integer"])
+            value = int(data["integer"])
 
-        .. group-tab:: C#/.NET
+    .. tab:: C#/.NET
 
-            .. code-block:: c#
+        .. code-block:: c#
 
-                int value = int.Parse(data["integer"]);
+            int value = int.Parse(data["integer"]);
 
 
     * for boolean
 
-    .. tabs::
+    .. tab:: Python
 
-        .. group-tab:: Python
+        .. code-block:: python
 
-            .. code-block:: python
+            value = data["boolean"] == "true"
 
-                value = data["boolean"] == "true"
+    .. tab:: C#/.NET
 
-        .. group-tab:: C#/.NET
+        .. code-block:: c#
 
-            .. code-block:: c#
+            bool value = data["boolean"] == "true";
 
-                bool value = data["boolean"] == "true";
 
 Verify your code
 ----------------
 
 You can use the ``verify`` command to check your code against the models for issues.
 
-.. tabs::
-
-    .. group-tab:: Python
+.. tab:: Python
 
-        .. code::
+    .. code::
 
-            $ altwalker verify tests -l python -m models/model-name.json
+        $ altwalker verify tests -l python -m models/model-name.json
 
-    .. group-tab:: C#/.NET
+.. tab:: C#/.NET
 
-        .. code::
+    .. code::
 
-            $ altwalker verify tests -l dotnet -m models/model-name.json
+        $ altwalker verify tests -l dotnet -m models/model-name.json
diff --git a/docs/source/how-tos/run-tests-with-docker.rst b/docs/source/how-tos/run-tests-with-docker.rst
index f581100..d870d3a 100644
--- a/docs/source/how-tos/run-tests-with-docker.rst
+++ b/docs/source/how-tos/run-tests-with-docker.rst
@@ -1,6 +1,6 @@
-=====================
-Run tests with Docker
-=====================
+=============================
+How to: Run tests with Docker
+=============================
 
 .. meta::
    :keywords: AltWalker, Model-Based Testing, C#, .NET, Docker
@@ -8,9 +8,6 @@ Run tests with Docker
 If you want to skip the installation of AltWalker you could use one of
 `our docker images <https://hub.docker.com/r/altwalker/altwalker>`_.
 
-.. contents:: Table of Contents
-    :local:
-    :backlinks: none
 
 Create a ``Dockerfile`` for your project
 ----------------------------------------
@@ -18,52 +15,50 @@ Create a ``Dockerfile`` for your project
 To use altwalker with docker add the following ``Dockerfile`` in the root
 of your project.
 
-.. tabs::
+.. tab:: Python
 
-    .. group-tab:: Python
+    .. code-block:: docker
+        :caption: Dockerfile
 
-        .. code-block:: docker
-            :caption: Dockerfile
+        FROM altwalker/altwalker:latest
 
-            FROM altwalker/altwalker:latest
+        COPY . /test-project
+        WORKDIR  /test-project
 
-            COPY . /test-project
-            WORKDIR  /test-project
+        RUN touch requirements.txt
+        RUN python3 -m pip install -r requirements.txt
 
-            RUN touch requirements.txt
-            RUN python3 -m pip install -r requirements.txt
+        # If you have other dependencies you can install them here.
 
-            # If you have other dependencies you can install them here.
+.. tab:: C#/.NET
 
-    .. group-tab:: C#/.NET
+    .. code-block:: docker
+        :caption: Dockerfile
 
-        .. code-block:: docker
-            :caption: Dockerfile
+        FROM altwalker/altwalker:latest-dotnet-2.1
 
-            FROM altwalker/altwalker:latest-dotnet-2.1
+        COPY . /my-tests
+        WORKDIR  /my-tests
 
-            COPY . /my-tests
-            WORKDIR  /my-tests
+        # If you have other dependencies you can install them here.
 
-            # If you have other dependencies you can install them here.
-
-            RUN dotnet build tests
+        RUN dotnet build tests
 
 
 You can then build and run the Docker image:
 
 .. code-block:: console
 
-    $ docker build -t my-tests .
-    $ docker run -it my-tests altwalker online [...]
+    docker build -t my-tests .
+    docker run -it my-tests altwalker online [...]
 
 
 Example:
 
 .. code-block:: console
 
-    $ docker build -t my-tests .
-    $ docker run -it my-tests altwalker \
+    docker build -t my-tests .
+    docker run -it my-tests altwalker \
         online tests -m models/default.json "random(vertex_coverage(100))"
 
 
@@ -74,44 +69,40 @@ For many projects you may find it inconvenient to write a complete
 ``Dockerfile``. In such cases, you can run you tests as a script by
 using the AltWalker Docker image directly:
 
-.. tabs::
-
-    .. group-tab:: Python
+.. tab:: Python
 
-        .. code-block:: console
+    .. code-block:: console
 
-            $ docker run -it -v "$(pwd):/test-project" -w "/test-project" altwalker/altwalker:latest \
-                /bin/bash -c 'python3 -m pip install -r requirements.txt && altwalker online [...]'
+        docker run -it -v "$(pwd):/test-project" -w "/test-project" altwalker/altwalker:latest \
+            /bin/bash -c 'python3 -m pip install -r requirements.txt && altwalker online [...]'
 
-        If you don't have any python dependencies you can remove the ``python3 -m pip install -r requirements.txt``.
+    If you don't have any python dependencies you can remove the ``python3 -m pip install -r requirements.txt``.
 
-        .. code-block:: console
+    .. code-block:: console
 
-            $ docker run -it -v "$(pwd):/test-project" -w "/test-project" altwalker/altwalker:latest \
-               altwalker online [...]
+        docker run -it -v "$(pwd):/test-project" -w "/test-project" altwalker/altwalker:latest \
+            altwalker online [...]
 
-    .. group-tab:: C#/.NET
+.. tab:: C#/.NET
 
-        .. code-block:: console
+    .. code-block:: console
 
-            $ docker run -it -v "$(pwd):/test-project" -w "/test-project" altwalker/altwalker:latest-dotnet-2.1 \
-                altwalker online [...]
+        docker run -it -v "$(pwd):/test-project" -w "/test-project" altwalker/altwalker:latest-dotnet-2.1 \
+            altwalker online [...]
 
 
 Example:
 
-.. tabs::
-
-    .. group-tab:: Python
+.. tab:: Python
 
-        .. code-block:: console
+    .. code-block:: console
 
-            $ docker run -it -v "$(pwd):/test-project" -w "/test-project" altwalker/altwalker:latest \
-                /bin/bash -c 'python3 -m pip install -r requirements.txt && altwalker online tests -m models/default.json "random(vertex_coverage(100))"'
+        docker run -it -v "$(pwd):/test-project" -w "/test-project" altwalker/altwalker:latest \
+            /bin/bash -c 'python3 -m pip install -r requirements.txt && altwalker online tests -m models/default.json "random(vertex_coverage(100))"'
 
-    .. group-tab:: C#/.NET
+.. tab:: C#/.NET
 
-        .. code-block:: console
+    .. code-block:: console
 
-            $ docker run -it -v "$(pwd):/test-project" -w "/test-project" altwalker/altwalker:latest-dotnet-2.1 \
-                altwalker online tests -m models/default.json "random(vertex_coverage(100))"
+        docker run -it -v "$(pwd):/test-project" -w "/test-project" altwalker/altwalker:latest-dotnet-2.1 \
+            altwalker online tests -m models/default.json "random(vertex_coverage(100))"