diff --git a/docs/source/_static/img/logo copy.png b/docs/source/_static/img/logo copy.png
deleted file mode 100644
index 784183cd932787cfce3cf6c38e77622f40699e8f..0000000000000000000000000000000000000000
Binary files a/docs/source/_static/img/logo copy.png and /dev/null differ
diff --git a/docs/source/_static/img/logo_large.svg b/docs/source/_static/img/pystencils-logo-dark.svg
similarity index 52%
rename from docs/source/_static/img/logo_large.svg
rename to docs/source/_static/img/pystencils-logo-dark.svg
index 8b4155d3a1aaa9bc002967137e732930109e192f..28c8bcaab7dc8b236768fbc5d8d7f185439c0b43 100644
--- a/docs/source/_static/img/logo_large.svg
+++ b/docs/source/_static/img/pystencils-logo-dark.svg
@@ -2,443 +2,460 @@
 <!-- Created with Inkscape (http://www.inkscape.org/) -->
 
 <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"
-   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
-   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
-   width="379.82614mm"
-   height="189.91307mm"
-   viewBox="0 0 1345.8407 672.92033"
-   id="svg2"
+   width="49.310894mm"
+   height="48.976913mm"
+   viewBox="0 0 49.310894 48.976913"
    version="1.1"
-   inkscape:version="0.92.3 (2405546, 2018-03-11)"
-   sodipodi:docname="logo_large.svg"
-   inkscape:export-filename="/home/martin/code/pycodegen/pystencils/doc/img/github_repo_card.png"
-   inkscape:export-xdpi="85.599998"
-   inkscape:export-ydpi="85.599998">
+   id="svg1"
+   inkscape:version="1.4 (e7c3feb100, 2024-10-09)"
+   sodipodi:docname="pystencils-logo-dark.svg"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:svg="http://www.w3.org/2000/svg">
+  <sodipodi:namedview
+     id="namedview1"
+     pagecolor="#ffffff"
+     bordercolor="#111111"
+     borderopacity="1"
+     inkscape:showpageshadow="0"
+     inkscape:pageopacity="0"
+     inkscape:pagecheckerboard="1"
+     inkscape:deskcolor="#d1d1d1"
+     inkscape:document-units="mm"
+     showguides="true"
+     inkscape:lockguides="false"
+     showgrid="false"
+     inkscape:zoom="4"
+     inkscape:cx="73.125"
+     inkscape:cy="102.5"
+     inkscape:window-width="1920"
+     inkscape:window-height="1039"
+     inkscape:window-x="0"
+     inkscape:window-y="0"
+     inkscape:window-maximized="1"
+     inkscape:current-layer="layer1">
+    <inkscape:grid
+       id="grid4"
+       units="mm"
+       originx="4.6554451"
+       originy="-0.83749382"
+       spacingx="0.99999998"
+       spacingy="1"
+       empcolor="#0099e5"
+       empopacity="0.30196078"
+       color="#0099e5"
+       opacity="0.14901961"
+       empspacing="5"
+       enabled="true"
+       visible="false" />
+    <sodipodi:guide
+       position="38.829266,-5.2751542"
+       orientation="1,0"
+       id="guide2"
+       inkscape:locked="false" />
+    <sodipodi:guide
+       position="10.481264,-5.2751542"
+       orientation="1,0"
+       id="guide3"
+       inkscape:locked="false" />
+    <sodipodi:guide
+       position="24.655266,8.8988453"
+       orientation="0,-1"
+       id="guide4"
+       inkscape:locked="false" />
+    <sodipodi:guide
+       position="24.655266,-19.449154"
+       orientation="0,-1"
+       id="guide5"
+       inkscape:locked="false" />
+  </sodipodi:namedview>
   <defs
-     id="defs4">
-    <inkscape:path-effect
-       effect="spiro"
-       id="path-effect4188"
-       is_visible="true" />
+     id="defs1">
     <inkscape:path-effect
        effect="spiro"
-       id="path-effect4188-5"
-       is_visible="true" />
+       id="path-effect5"
+       is_visible="true"
+       lpeversion="0" />
     <filter
-       y="-0.25"
-       height="1.5"
+       y="-0.17469697"
+       height="1.3493938"
        inkscape:menu-tooltip="Darkens the edge with an inner blur and adds a flexible glow"
        inkscape:menu="Shadows and Glows"
        inkscape:label="Dark And Glow"
        style="color-interpolation-filters:sRGB"
-       id="filter4596">
+       id="filter4608-0"
+       x="-0.17469697"
+       width="1.3493938">
       <feGaussianBlur
          stdDeviation="5"
          result="result6"
-         id="feGaussianBlur4598" />
+         id="feGaussianBlur4610-2" />
       <feComposite
          result="result8"
          in="SourceGraphic"
          operator="atop"
          in2="result6"
-         id="feComposite4600" />
+         id="feComposite4612-5" />
       <feComposite
          result="result9"
          operator="over"
          in2="SourceAlpha"
          in="result8"
-         id="feComposite4602" />
+         id="feComposite4614-7" />
       <feColorMatrix
          values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 "
          result="result10"
-         id="feColorMatrix4604" />
+         id="feColorMatrix4616-6" />
       <feBlend
          in="result10"
          mode="normal"
          in2="result6"
-         id="feBlend4606" />
+         id="feBlend4618-9" />
     </filter>
     <filter
-       y="-0.25"
-       height="1.5"
+       y="-0.17469697"
+       height="1.3493938"
        inkscape:menu-tooltip="Darkens the edge with an inner blur and adds a flexible glow"
        inkscape:menu="Shadows and Glows"
        inkscape:label="Dark And Glow"
        style="color-interpolation-filters:sRGB"
-       id="filter4608">
+       id="filter4632-1"
+       x="-0.17469697"
+       width="1.3493938">
       <feGaussianBlur
          stdDeviation="5"
          result="result6"
-         id="feGaussianBlur4610" />
+         id="feGaussianBlur4634-9" />
       <feComposite
          result="result8"
          in="SourceGraphic"
          operator="atop"
          in2="result6"
-         id="feComposite4612" />
+         id="feComposite4636-8" />
       <feComposite
          result="result9"
          operator="over"
          in2="SourceAlpha"
          in="result8"
-         id="feComposite4614" />
+         id="feComposite4638-7" />
       <feColorMatrix
          values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 "
          result="result10"
-         id="feColorMatrix4616" />
+         id="feColorMatrix4640-6" />
       <feBlend
          in="result10"
          mode="normal"
          in2="result6"
-         id="feBlend4618" />
+         id="feBlend4642-5" />
     </filter>
     <filter
-       y="-0.25"
-       height="1.5"
+       y="-0.17469697"
+       height="1.3493938"
        inkscape:menu-tooltip="Darkens the edge with an inner blur and adds a flexible glow"
        inkscape:menu="Shadows and Glows"
        inkscape:label="Dark And Glow"
        style="color-interpolation-filters:sRGB"
-       id="filter4620">
+       id="filter4620-1"
+       x="-0.17469697"
+       width="1.3493938">
       <feGaussianBlur
          stdDeviation="5"
          result="result6"
-         id="feGaussianBlur4622" />
+         id="feGaussianBlur4622-1" />
       <feComposite
          result="result8"
          in="SourceGraphic"
          operator="atop"
          in2="result6"
-         id="feComposite4624" />
+         id="feComposite4624-4" />
       <feComposite
          result="result9"
          operator="over"
          in2="SourceAlpha"
          in="result8"
-         id="feComposite4626" />
+         id="feComposite4626-8" />
       <feColorMatrix
          values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 "
          result="result10"
-         id="feColorMatrix4628" />
+         id="feColorMatrix4628-5" />
       <feBlend
          in="result10"
          mode="normal"
          in2="result6"
-         id="feBlend4630" />
+         id="feBlend4630-7" />
     </filter>
     <filter
-       y="-0.25"
-       height="1.5"
+       y="-0.17469697"
+       height="1.3493938"
        inkscape:menu-tooltip="Darkens the edge with an inner blur and adds a flexible glow"
        inkscape:menu="Shadows and Glows"
        inkscape:label="Dark And Glow"
        style="color-interpolation-filters:sRGB"
-       id="filter4632">
+       id="filter4596-6"
+       x="-0.17469697"
+       width="1.3493938">
       <feGaussianBlur
          stdDeviation="5"
          result="result6"
-         id="feGaussianBlur4634" />
+         id="feGaussianBlur4598-6" />
       <feComposite
          result="result8"
          in="SourceGraphic"
          operator="atop"
          in2="result6"
-         id="feComposite4636" />
+         id="feComposite4600-9" />
       <feComposite
          result="result9"
          operator="over"
          in2="SourceAlpha"
          in="result8"
-         id="feComposite4638" />
+         id="feComposite4602-1" />
       <feColorMatrix
          values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 "
          result="result10"
-         id="feColorMatrix4640" />
+         id="feColorMatrix4604-4" />
       <feBlend
          in="result10"
          mode="normal"
          in2="result6"
-         id="feBlend4642" />
+         id="feBlend4606-3" />
     </filter>
+    <inkscape:path-effect
+       effect="spiro"
+       id="path-effect4188-5-6"
+       is_visible="true"
+       lpeversion="0" />
     <inkscape:path-effect
        effect="spiro"
        id="path-effect4188-7"
-       is_visible="true" />
+       is_visible="true"
+       lpeversion="0" />
     <inkscape:path-effect
        effect="spiro"
-       id="path-effect4188-5-6"
-       is_visible="true" />
+       id="path-effect4188-5-6-3"
+       is_visible="true"
+       lpeversion="0" />
+    <inkscape:path-effect
+       effect="spiro"
+       id="path-effect4188-7-2"
+       is_visible="true"
+       lpeversion="0" />
     <filter
-       y="-0.25"
-       height="1.5"
+       y="-0.17469696"
+       height="1.3493939"
        inkscape:menu-tooltip="Darkens the edge with an inner blur and adds a flexible glow"
        inkscape:menu="Shadows and Glows"
        inkscape:label="Dark And Glow"
        style="color-interpolation-filters:sRGB"
-       id="filter4596-6">
+       id="filter4608-0-5"
+       x="-0.17469696"
+       width="1.3493939">
       <feGaussianBlur
          stdDeviation="5"
          result="result6"
-         id="feGaussianBlur4598-6" />
+         id="feGaussianBlur4610-2-5" />
       <feComposite
          result="result8"
          in="SourceGraphic"
          operator="atop"
          in2="result6"
-         id="feComposite4600-9" />
+         id="feComposite4612-5-4" />
       <feComposite
          result="result9"
          operator="over"
          in2="SourceAlpha"
          in="result8"
-         id="feComposite4602-1" />
+         id="feComposite4614-7-7" />
       <feColorMatrix
          values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 "
          result="result10"
-         id="feColorMatrix4604-4" />
+         id="feColorMatrix4616-6-6" />
       <feBlend
          in="result10"
          mode="normal"
          in2="result6"
-         id="feBlend4606-3" />
+         id="feBlend4618-9-5" />
     </filter>
     <filter
-       y="-0.25"
-       height="1.5"
+       y="-0.17469696"
+       height="1.3493939"
        inkscape:menu-tooltip="Darkens the edge with an inner blur and adds a flexible glow"
        inkscape:menu="Shadows and Glows"
        inkscape:label="Dark And Glow"
        style="color-interpolation-filters:sRGB"
-       id="filter4620-1">
+       id="filter4620-1-7"
+       x="-0.17469696"
+       width="1.3493939">
       <feGaussianBlur
          stdDeviation="5"
          result="result6"
-         id="feGaussianBlur4622-1" />
+         id="feGaussianBlur4622-1-4" />
       <feComposite
          result="result8"
          in="SourceGraphic"
          operator="atop"
          in2="result6"
-         id="feComposite4624-4" />
+         id="feComposite4624-4-5" />
       <feComposite
          result="result9"
          operator="over"
          in2="SourceAlpha"
          in="result8"
-         id="feComposite4626-8" />
+         id="feComposite4626-8-2" />
       <feColorMatrix
          values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 "
          result="result10"
-         id="feColorMatrix4628-5" />
+         id="feColorMatrix4628-5-5" />
       <feBlend
          in="result10"
          mode="normal"
          in2="result6"
-         id="feBlend4630-7" />
+         id="feBlend4630-7-4" />
     </filter>
     <filter
-       y="-0.25"
-       height="1.5"
+       y="-0.17469696"
+       height="1.3493939"
        inkscape:menu-tooltip="Darkens the edge with an inner blur and adds a flexible glow"
        inkscape:menu="Shadows and Glows"
        inkscape:label="Dark And Glow"
        style="color-interpolation-filters:sRGB"
-       id="filter4632-1">
+       id="filter4596-6-3"
+       x="-0.17469696"
+       width="1.3493939">
       <feGaussianBlur
          stdDeviation="5"
          result="result6"
-         id="feGaussianBlur4634-9" />
+         id="feGaussianBlur4598-6-0" />
       <feComposite
          result="result8"
          in="SourceGraphic"
          operator="atop"
          in2="result6"
-         id="feComposite4636-8" />
+         id="feComposite4600-9-7" />
       <feComposite
          result="result9"
          operator="over"
          in2="SourceAlpha"
          in="result8"
-         id="feComposite4638-7" />
+         id="feComposite4602-1-8" />
       <feColorMatrix
          values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 "
          result="result10"
-         id="feColorMatrix4640-6" />
+         id="feColorMatrix4604-4-6" />
       <feBlend
          in="result10"
          mode="normal"
          in2="result6"
-         id="feBlend4642-5" />
+         id="feBlend4606-3-8" />
     </filter>
     <filter
-       y="-0.25"
-       height="1.5"
+       y="-0.17469696"
+       height="1.3493939"
        inkscape:menu-tooltip="Darkens the edge with an inner blur and adds a flexible glow"
        inkscape:menu="Shadows and Glows"
        inkscape:label="Dark And Glow"
        style="color-interpolation-filters:sRGB"
-       id="filter4608-0">
+       id="filter4632-1-4"
+       x="-0.17469696"
+       width="1.3493939">
       <feGaussianBlur
          stdDeviation="5"
          result="result6"
-         id="feGaussianBlur4610-2" />
+         id="feGaussianBlur4634-9-9" />
       <feComposite
          result="result8"
          in="SourceGraphic"
          operator="atop"
          in2="result6"
-         id="feComposite4612-5" />
+         id="feComposite4636-8-2" />
       <feComposite
          result="result9"
          operator="over"
          in2="SourceAlpha"
          in="result8"
-         id="feComposite4614-7" />
+         id="feComposite4638-7-0" />
       <feColorMatrix
          values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 "
          result="result10"
-         id="feColorMatrix4616-6" />
+         id="feColorMatrix4640-6-6" />
       <feBlend
          in="result10"
          mode="normal"
          in2="result6"
-         id="feBlend4618-9" />
+         id="feBlend4642-5-8" />
     </filter>
   </defs>
-  <sodipodi:namedview
-     id="base"
-     pagecolor="#ffffff"
-     bordercolor="#666666"
-     borderopacity="1.0"
-     inkscape:pageopacity="0.0"
-     inkscape:pageshadow="2"
-     inkscape:zoom="0.70000001"
-     inkscape:cx="545.01294"
-     inkscape:cy="35.725386"
-     inkscape:document-units="px"
-     inkscape:current-layer="layer1"
-     showgrid="false"
-     inkscape:window-width="3840"
-     inkscape:window-height="2061"
-     inkscape:window-x="0"
-     inkscape:window-y="0"
-     inkscape:window-maximized="1"
-     fit-margin-top="0"
-     fit-margin-left="0"
-     fit-margin-right="0"
-     fit-margin-bottom="0">
-    <inkscape:grid
-       type="xygrid"
-       id="grid4176"
-       originx="267.20477"
-       originy="315.17846" />
-  </sodipodi:namedview>
-  <metadata
-     id="metadata7">
-    <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
      inkscape:label="Layer 1"
      inkscape:groupmode="layer"
      id="layer1"
-     transform="translate(267.20477,-694.6203)">
-    <text
-       xml:space="preserve"
-       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:34.78659058px;line-height:125%;font-family:'Latin Modern Mono Light';-inkscape-font-specification:'Latin Modern Mono Light, ';letter-spacing:0px;word-spacing:0px;fill:#252525;fill-opacity:1;stroke:none;stroke-width:4.34832382px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
-       x="159.99139"
-       y="964.43109"
-       id="text1392-1"
-       inkscape:export-xdpi="70.669998"
-       inkscape:export-ydpi="70.669998"><tspan
-         sodipodi:role="line"
-         id="tspan1390-1"
-         x="159.99139"
-         y="964.43109"
-         style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:156.53968811px;font-family:'Latin Modern Mono Light';-inkscape-font-specification:'Latin Modern Mono Light, Bold';fill:#252525;fill-opacity:1;stroke-width:4.34832382px">pystencils</tspan></text>
+     transform="translate(4.6554452,-0.83749467)">
     <g
-       id="g9986"
-       transform="matrix(4.1201463,0,0,4.1201463,-399.75066,866.02979)"
-       inkscape:export-xdpi="70.669998"
-       inkscape:export-ydpi="70.669998">
-      <path
-         inkscape:connector-curvature="0"
-         inkscape:original-d="M 60.891002,27.333516 H 118.64865"
-         inkscape:path-effect="#path-effect4188-7"
-         id="path4186-6"
-         d="M 60.891002,27.333516 H 118.64865"
-         style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.78799796;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.70388345" />
-      <path
-         sodipodi:nodetypes="cc"
-         inkscape:connector-curvature="0"
-         inkscape:original-d="M 89.922623,-0.47572315 C 31.237244,132.88729 89.846228,36.88339 89.846228,56.13594"
-         inkscape:path-effect="#path-effect4188-5-6"
-         id="path4186-3-9"
-         d="M 89.922623,-0.47572315 89.846228,56.13594"
-         style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.78799796;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.70388345" />
+       id="g24"
+       transform="translate(1.812973e-4,-8.5216229e-5)">
+      <rect
+         style="display:inline;opacity:1;fill:#ffffff;fill-opacity:0.701961;stroke-width:0.409154"
+         id="rect1"
+         width="28.348"
+         height="1.396094"
+         x="5.825819"
+         y="19.277994"
+         inkscape:label="axis-H" />
+      <rect
+         style="opacity:1;fill:#ffffff;fill-opacity:0.701961;stroke-width:0.409154"
+         id="rect2"
+         width="28.348"
+         height="1.396094"
+         x="5.8020415"
+         y="-20.697866"
+         transform="rotate(90)"
+         inkscape:label="axis-V" />
       <circle
-         transform="matrix(0.21391721,0,0,0.21391721,27.733834,-23.442344)"
+         transform="matrix(0.10711925,0,0,0.10711925,-10.838025,-5.3822253)"
          r="34.345188"
-         cy="108.02044"
-         cx="291.42902"
-         id="path4136-76"
-         style="opacity:1;fill:#e69f00;fill-opacity:1;stroke:none;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter4596-6)" />
+         cy="236.72931"
+         cx="155.56349"
+         id="path4136-7-0"
+         style="fill:#009e73;fill-opacity:1;stroke:none;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter4608-0-5)"
+         inkscape:label="circle-L" />
       <circle
-         transform="matrix(0.21391721,0,0,0.21391721,27.733834,-23.442344)"
+         transform="matrix(0.10711925,0,0,0.10711925,-11.109448,-4.9954233)"
          r="34.345188"
          cy="365.43817"
          cx="290.41885"
          id="path4136-6-0"
-         style="opacity:1;fill:#0072b2;fill-opacity:1;stroke:none;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter4620-1)" />
+         style="fill:#0072b2;fill-opacity:1;stroke:none;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter4620-1-7)"
+         inkscape:label="circle-B" />
       <circle
-         transform="matrix(0.21391721,0,0,0.21391721,27.733834,-23.442344)"
+         transform="matrix(0.10711925,0,0,0.10711925,-11.20464,-5.7690267)"
          r="34.345188"
-         cy="236.72931"
-         cx="422.24377"
-         id="path4136-3-9"
-         style="opacity:1;fill:#999999;fill-opacity:1;stroke:none;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter4632-1)" />
+         cy="108.02044"
+         cx="291.42902"
+         id="path4136-76"
+         style="fill:#e69f00;fill-opacity:1;stroke:none;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter4596-6-3)"
+         inkscape:label="circle-T" />
       <circle
-         transform="matrix(0.21391721,0,0,0.21391721,27.733834,-23.442344)"
+         transform="matrix(0.10711925,0,0,0.10711925,-11.056616,-5.2185227)"
          r="34.345188"
          cy="236.72931"
-         cx="155.56349"
-         id="path4136-7-0"
-         style="opacity:1;fill:#009e73;fill-opacity:1;stroke:none;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter4608-0)" />
+         cx="422.24377"
+         id="path4136-3-9"
+         style="fill:#999999;fill-opacity:1;stroke:none;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter4632-1-4)"
+         inkscape:label="circle-R" />
     </g>
     <text
        xml:space="preserve"
-       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:8.7668047px;line-height:125%;font-family:'Latin Modern Mono Light';-inkscape-font-specification:'Latin Modern Mono Light, ';letter-spacing:0px;word-spacing:0px;fill:#252525;fill-opacity:0.70629368;stroke:none;stroke-width:1.09585059px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
-       x="229.96391"
-       y="1071.713"
-       id="text1392-1-3"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.11667px;line-height:125%;font-family:'Latin Modern Mono Light';-inkscape-font-specification:'Latin Modern Mono Light, ';letter-spacing:0px;word-spacing:0px;fill:#cccccc;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="-4.7506952"
+       y="47.69986"
+       id="text1392-1"
        inkscape:export-xdpi="70.669998"
        inkscape:export-ydpi="70.669998"><tspan
          sodipodi:role="line"
-         id="tspan1390-1-6"
-         x="229.96391"
-         y="1071.713"
-         style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:62.0406723px;line-height:105.99999428%;font-family:'Latin Modern Mono Light';-inkscape-font-specification:'Latin Modern Mono Light, Bold';fill:#252525;fill-opacity:0.70629368;stroke-width:1.09585059px">speed up stencil </tspan><tspan
-         sodipodi:role="line"
-         x="229.96391"
-         y="1137.4761"
-         style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:62.0406723px;line-height:105.99999428%;font-family:'Latin Modern Mono Light';-inkscape-font-specification:'Latin Modern Mono Light, Bold';fill:#252525;fill-opacity:0.70629368;stroke-width:1.09585059px"
-         id="tspan109">computations on</tspan><tspan
-         sodipodi:role="line"
-         x="229.96391"
-         y="1203.2393"
-         style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:62.0406723px;line-height:105.99999428%;font-family:'Latin Modern Mono Light';-inkscape-font-specification:'Latin Modern Mono Light, Bold';fill:#252525;fill-opacity:0.70629368;stroke-width:1.09585059px"
-         id="tspan107">numpy arrays</tspan></text>
+         id="tspan1390-1"
+         x="-4.7506952"
+         y="47.69986"
+         style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:9.525px;font-family:'Latin Modern Mono Light';-inkscape-font-specification:'Latin Modern Mono Light, Bold';fill:#cccccc;fill-opacity:1;stroke-width:0.264583px">pystencils</tspan></text>
   </g>
 </svg>
diff --git a/docs/source/_static/img/pystencils-logo-light.svg b/docs/source/_static/img/pystencils-logo-light.svg
new file mode 100644
index 0000000000000000000000000000000000000000..519a4816aa4b660364ddd498b535554c24f900bb
--- /dev/null
+++ b/docs/source/_static/img/pystencils-logo-light.svg
@@ -0,0 +1,465 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   width="49.310894mm"
+   height="48.976913mm"
+   viewBox="0 0 49.310894 48.976913"
+   version="1.1"
+   id="svg1"
+   inkscape:version="1.4 (e7c3feb100, 2024-10-09)"
+   sodipodi:docname="pystencils-logo-light.svg"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:svg="http://www.w3.org/2000/svg">
+  <sodipodi:namedview
+     id="namedview1"
+     pagecolor="#ffffff"
+     bordercolor="#111111"
+     borderopacity="1"
+     inkscape:showpageshadow="0"
+     inkscape:pageopacity="0"
+     inkscape:pagecheckerboard="1"
+     inkscape:deskcolor="#d1d1d1"
+     inkscape:document-units="mm"
+     showguides="true"
+     inkscape:lockguides="false"
+     showgrid="false"
+     inkscape:zoom="2.8284271"
+     inkscape:cx="33.410795"
+     inkscape:cy="140.00714"
+     inkscape:window-width="1920"
+     inkscape:window-height="1039"
+     inkscape:window-x="0"
+     inkscape:window-y="0"
+     inkscape:window-maximized="1"
+     inkscape:current-layer="layer1">
+    <inkscape:grid
+       id="grid4"
+       units="mm"
+       originx="4.6554451"
+       originy="-0.837491"
+       spacingx="0.99999998"
+       spacingy="1"
+       empcolor="#0099e5"
+       empopacity="0.30196078"
+       color="#0099e5"
+       opacity="0.14901961"
+       empspacing="5"
+       enabled="true"
+       visible="false" />
+    <sodipodi:guide
+       position="38.829267,-5.2751543"
+       orientation="1,0"
+       id="guide2"
+       inkscape:locked="false" />
+    <sodipodi:guide
+       position="10.481264,-5.2751543"
+       orientation="1,0"
+       id="guide3"
+       inkscape:locked="false" />
+    <sodipodi:guide
+       position="24.655266,8.8988446"
+       orientation="0,-1"
+       id="guide4"
+       inkscape:locked="false" />
+    <sodipodi:guide
+       position="24.655266,-19.449154"
+       orientation="0,-1"
+       id="guide5"
+       inkscape:locked="false" />
+  </sodipodi:namedview>
+  <defs
+     id="defs1">
+    <inkscape:path-effect
+       effect="spiro"
+       id="path-effect5"
+       is_visible="true"
+       lpeversion="0" />
+    <filter
+       y="-0.17469697"
+       height="1.3493938"
+       inkscape:menu-tooltip="Darkens the edge with an inner blur and adds a flexible glow"
+       inkscape:menu="Shadows and Glows"
+       inkscape:label="Dark And Glow"
+       style="color-interpolation-filters:sRGB"
+       id="filter4608-0"
+       x="-0.17469697"
+       width="1.3493938">
+      <feGaussianBlur
+         stdDeviation="5"
+         result="result6"
+         id="feGaussianBlur4610-2" />
+      <feComposite
+         result="result8"
+         in="SourceGraphic"
+         operator="atop"
+         in2="result6"
+         id="feComposite4612-5" />
+      <feComposite
+         result="result9"
+         operator="over"
+         in2="SourceAlpha"
+         in="result8"
+         id="feComposite4614-7" />
+      <feColorMatrix
+         values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 "
+         result="result10"
+         id="feColorMatrix4616-6" />
+      <feBlend
+         in="result10"
+         mode="normal"
+         in2="result6"
+         id="feBlend4618-9" />
+    </filter>
+    <filter
+       y="-0.17469697"
+       height="1.3493938"
+       inkscape:menu-tooltip="Darkens the edge with an inner blur and adds a flexible glow"
+       inkscape:menu="Shadows and Glows"
+       inkscape:label="Dark And Glow"
+       style="color-interpolation-filters:sRGB"
+       id="filter4632-1"
+       x="-0.17469697"
+       width="1.3493938">
+      <feGaussianBlur
+         stdDeviation="5"
+         result="result6"
+         id="feGaussianBlur4634-9" />
+      <feComposite
+         result="result8"
+         in="SourceGraphic"
+         operator="atop"
+         in2="result6"
+         id="feComposite4636-8" />
+      <feComposite
+         result="result9"
+         operator="over"
+         in2="SourceAlpha"
+         in="result8"
+         id="feComposite4638-7" />
+      <feColorMatrix
+         values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 "
+         result="result10"
+         id="feColorMatrix4640-6" />
+      <feBlend
+         in="result10"
+         mode="normal"
+         in2="result6"
+         id="feBlend4642-5" />
+    </filter>
+    <filter
+       y="-0.17469697"
+       height="1.3493938"
+       inkscape:menu-tooltip="Darkens the edge with an inner blur and adds a flexible glow"
+       inkscape:menu="Shadows and Glows"
+       inkscape:label="Dark And Glow"
+       style="color-interpolation-filters:sRGB"
+       id="filter4620-1"
+       x="-0.17469697"
+       width="1.3493938">
+      <feGaussianBlur
+         stdDeviation="5"
+         result="result6"
+         id="feGaussianBlur4622-1" />
+      <feComposite
+         result="result8"
+         in="SourceGraphic"
+         operator="atop"
+         in2="result6"
+         id="feComposite4624-4" />
+      <feComposite
+         result="result9"
+         operator="over"
+         in2="SourceAlpha"
+         in="result8"
+         id="feComposite4626-8" />
+      <feColorMatrix
+         values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 "
+         result="result10"
+         id="feColorMatrix4628-5" />
+      <feBlend
+         in="result10"
+         mode="normal"
+         in2="result6"
+         id="feBlend4630-7" />
+    </filter>
+    <filter
+       y="-0.17469697"
+       height="1.3493938"
+       inkscape:menu-tooltip="Darkens the edge with an inner blur and adds a flexible glow"
+       inkscape:menu="Shadows and Glows"
+       inkscape:label="Dark And Glow"
+       style="color-interpolation-filters:sRGB"
+       id="filter4596-6"
+       x="-0.17469697"
+       width="1.3493938">
+      <feGaussianBlur
+         stdDeviation="5"
+         result="result6"
+         id="feGaussianBlur4598-6" />
+      <feComposite
+         result="result8"
+         in="SourceGraphic"
+         operator="atop"
+         in2="result6"
+         id="feComposite4600-9" />
+      <feComposite
+         result="result9"
+         operator="over"
+         in2="SourceAlpha"
+         in="result8"
+         id="feComposite4602-1" />
+      <feColorMatrix
+         values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 "
+         result="result10"
+         id="feColorMatrix4604-4" />
+      <feBlend
+         in="result10"
+         mode="normal"
+         in2="result6"
+         id="feBlend4606-3" />
+    </filter>
+    <inkscape:path-effect
+       effect="spiro"
+       id="path-effect4188-5-6"
+       is_visible="true"
+       lpeversion="0" />
+    <inkscape:path-effect
+       effect="spiro"
+       id="path-effect4188-7"
+       is_visible="true"
+       lpeversion="0" />
+    <inkscape:path-effect
+       effect="spiro"
+       id="path-effect4188-5-6-3"
+       is_visible="true"
+       lpeversion="0" />
+    <inkscape:path-effect
+       effect="spiro"
+       id="path-effect4188-7-2"
+       is_visible="true"
+       lpeversion="0" />
+    <filter
+       y="-0.17469696"
+       height="1.3493939"
+       inkscape:menu-tooltip="Darkens the edge with an inner blur and adds a flexible glow"
+       inkscape:menu="Shadows and Glows"
+       inkscape:label="Dark And Glow"
+       style="color-interpolation-filters:sRGB"
+       id="filter4608-0-5"
+       x="-0.17469696"
+       width="1.3493939">
+      <feGaussianBlur
+         stdDeviation="5"
+         result="result6"
+         id="feGaussianBlur4610-2-5" />
+      <feComposite
+         result="result8"
+         in="SourceGraphic"
+         operator="atop"
+         in2="result6"
+         id="feComposite4612-5-4" />
+      <feComposite
+         result="result9"
+         operator="over"
+         in2="SourceAlpha"
+         in="result8"
+         id="feComposite4614-7-7" />
+      <feColorMatrix
+         values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 "
+         result="result10"
+         id="feColorMatrix4616-6-6" />
+      <feBlend
+         in="result10"
+         mode="normal"
+         in2="result6"
+         id="feBlend4618-9-5" />
+    </filter>
+    <filter
+       y="-0.17469696"
+       height="1.3493939"
+       inkscape:menu-tooltip="Darkens the edge with an inner blur and adds a flexible glow"
+       inkscape:menu="Shadows and Glows"
+       inkscape:label="Dark And Glow"
+       style="color-interpolation-filters:sRGB"
+       id="filter4620-1-7"
+       x="-0.17469696"
+       width="1.3493939">
+      <feGaussianBlur
+         stdDeviation="5"
+         result="result6"
+         id="feGaussianBlur4622-1-4" />
+      <feComposite
+         result="result8"
+         in="SourceGraphic"
+         operator="atop"
+         in2="result6"
+         id="feComposite4624-4-5" />
+      <feComposite
+         result="result9"
+         operator="over"
+         in2="SourceAlpha"
+         in="result8"
+         id="feComposite4626-8-2" />
+      <feColorMatrix
+         values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 "
+         result="result10"
+         id="feColorMatrix4628-5-5" />
+      <feBlend
+         in="result10"
+         mode="normal"
+         in2="result6"
+         id="feBlend4630-7-4" />
+    </filter>
+    <filter
+       y="-0.17469696"
+       height="1.3493939"
+       inkscape:menu-tooltip="Darkens the edge with an inner blur and adds a flexible glow"
+       inkscape:menu="Shadows and Glows"
+       inkscape:label="Dark And Glow"
+       style="color-interpolation-filters:sRGB"
+       id="filter4596-6-3"
+       x="-0.17469696"
+       width="1.3493939">
+      <feGaussianBlur
+         stdDeviation="5"
+         result="result6"
+         id="feGaussianBlur4598-6-0" />
+      <feComposite
+         result="result8"
+         in="SourceGraphic"
+         operator="atop"
+         in2="result6"
+         id="feComposite4600-9-7" />
+      <feComposite
+         result="result9"
+         operator="over"
+         in2="SourceAlpha"
+         in="result8"
+         id="feComposite4602-1-8" />
+      <feColorMatrix
+         values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 "
+         result="result10"
+         id="feColorMatrix4604-4-6" />
+      <feBlend
+         in="result10"
+         mode="normal"
+         in2="result6"
+         id="feBlend4606-3-8" />
+    </filter>
+    <filter
+       y="-0.17469696"
+       height="1.3493939"
+       inkscape:menu-tooltip="Darkens the edge with an inner blur and adds a flexible glow"
+       inkscape:menu="Shadows and Glows"
+       inkscape:label="Dark And Glow"
+       style="color-interpolation-filters:sRGB"
+       id="filter4632-1-4"
+       x="-0.17469696"
+       width="1.3493939">
+      <feGaussianBlur
+         stdDeviation="5"
+         result="result6"
+         id="feGaussianBlur4634-9-9" />
+      <feComposite
+         result="result8"
+         in="SourceGraphic"
+         operator="atop"
+         in2="result6"
+         id="feComposite4636-8-2" />
+      <feComposite
+         result="result9"
+         operator="over"
+         in2="SourceAlpha"
+         in="result8"
+         id="feComposite4638-7-0" />
+      <feColorMatrix
+         values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 "
+         result="result10"
+         id="feColorMatrix4640-6-6" />
+      <feBlend
+         in="result10"
+         mode="normal"
+         in2="result6"
+         id="feBlend4642-5-8" />
+    </filter>
+  </defs>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(4.6554451,-0.83749467)">
+    <g
+       id="g25"
+       transform="translate(1.812973e-4,-8.5216229e-5)">
+      <g
+         id="g24">
+        <rect
+           style="display:inline;opacity:1;fill:#000000;fill-opacity:0.701961;stroke-width:0.409154"
+           id="rect1"
+           width="28.348"
+           height="1.396094"
+           x="5.825819"
+           y="19.277994"
+           inkscape:label="axis-H" />
+        <rect
+           style="opacity:1;fill:#000000;fill-opacity:0.701961;stroke-width:0.409154"
+           id="rect2"
+           width="28.348"
+           height="1.396094"
+           x="5.8020415"
+           y="-20.697866"
+           transform="rotate(90)"
+           inkscape:label="axis-V" />
+        <circle
+           transform="matrix(0.10711925,0,0,0.10711925,-10.838025,-5.3822253)"
+           r="34.345188"
+           cy="236.72931"
+           cx="155.56349"
+           id="path4136-7-0"
+           style="fill:#009e73;fill-opacity:1;stroke:none;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter4608-0-5)"
+           inkscape:label="circle-L" />
+        <circle
+           transform="matrix(0.10711925,0,0,0.10711925,-11.109448,-4.9954233)"
+           r="34.345188"
+           cy="365.43817"
+           cx="290.41885"
+           id="path4136-6-0"
+           style="fill:#0072b2;fill-opacity:1;stroke:none;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter4620-1-7)"
+           inkscape:label="circle-B" />
+        <circle
+           transform="matrix(0.10711925,0,0,0.10711925,-11.20464,-5.7690267)"
+           r="34.345188"
+           cy="108.02044"
+           cx="291.42902"
+           id="path4136-76"
+           style="fill:#e69f00;fill-opacity:1;stroke:none;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter4596-6-3)"
+           inkscape:label="circle-T" />
+        <circle
+           transform="matrix(0.10711925,0,0,0.10711925,-11.056616,-5.2185227)"
+           r="34.345188"
+           cy="236.72931"
+           cx="422.24377"
+           id="path4136-3-9"
+           style="fill:#999999;fill-opacity:1;stroke:none;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter4632-1-4)"
+           inkscape:label="circle-R" />
+      </g>
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.11667px;line-height:125%;font-family:'Latin Modern Mono Light';-inkscape-font-specification:'Latin Modern Mono Light, ';letter-spacing:0px;word-spacing:0px;fill:#252525;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         x="-4.7508764"
+         y="47.699944"
+         id="text1392-1"
+         inkscape:export-xdpi="70.669998"
+         inkscape:export-ydpi="70.669998"
+         inkscape:label="text1392-1"><tspan
+           sodipodi:role="line"
+           id="tspan1390-1"
+           x="-4.7508764"
+           y="47.699944"
+           style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:9.525px;font-family:'Latin Modern Mono Light';-inkscape-font-specification:'Latin Modern Mono Light, Bold';fill:#252525;fill-opacity:1;stroke-width:0.264583px">pystencils</tspan></text>
+    </g>
+  </g>
+</svg>
diff --git a/docs/source/conf.py b/docs/source/conf.py
index 03d43b19bdb90eb76db54f9532e5784a7ad38f08..e88859b99d6ad08b1f6358e31ad0f8b5ff1852f5 100644
--- a/docs/source/conf.py
+++ b/docs/source/conf.py
@@ -4,7 +4,6 @@ import re
 from pystencils import __version__ as pystencils_version
 
 project = "pystencils"
-html_logo = "_static/img/logo.png"
 html_title = "pystencils Documentation"
 
 copyright = (
@@ -72,13 +71,19 @@ myst_enable_extensions = [
 html_theme = "sphinx_book_theme"
 html_static_path = ["_static"]
 html_css_files = [
-    'css/fixtables.css',
+    "css/fixtables.css",
 ]
+html_theme_options = {
+    "logo": {
+        "image_light": "_static/img/pystencils-logo-light.svg",
+        "image_dark": "_static/img/pystencils-logo-dark.svg",
+    }
+}
 
 # NbSphinx configuration
 
-nbsphinx_execute = 'never'
-nbsphinx_codecell_lexer = 'python3'
+nbsphinx_execute = "never"
+nbsphinx_codecell_lexer = "python3"
 
 #   BibTex
-bibtex_bibfiles = ['pystencils.bib']
+bibtex_bibfiles = ["pystencils.bib"]
diff --git a/pyproject.toml b/pyproject.toml
index f0ec014a568dfd7cb83546fccfa3c8e2eb071f3b..d9a33c9d7b148541c5c7ce4e21aac7c6565d1600 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -46,7 +46,8 @@ use_cython = [
 ]
 doc = [
     'sphinx',
-    'sphinx-book-theme',
+    'pydata-sphinx-theme==0.15.4',
+    'sphinx-book-theme==1.1.3',  # workaround for https://github.com/executablebooks/sphinx-book-theme/issues/865
     'sphinxcontrib-bibtex',
     'sphinx_autodoc_typehints',
     'pandoc',