diff --git a/extensions/fablabchemnitz/chain_paths/chain_paths.inx b/extensions/fablabchemnitz/chain_paths/chain_paths.inx
new file mode 100644
index 0000000..c049d9f
--- /dev/null
+++ b/extensions/fablabchemnitz/chain_paths/chain_paths.inx
@@ -0,0 +1,29 @@
+
+
+ Chain Paths
+ fablabchemnitz.de.chain_paths
+ 0.01
+
+
+
+
+
+
+
+ false
+ true
+
+
+
+
+ path
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/extensions/fablabchemnitz/chain_paths/chain_paths.py b/extensions/fablabchemnitz/chain_paths/chain_paths.py
new file mode 100644
index 0000000..d8c309f
--- /dev/null
+++ b/extensions/fablabchemnitz/chain_paths/chain_paths.py
@@ -0,0 +1,281 @@
+#!/usr/bin/env python3
+#
+# Inkscape extension making long continuous paths from shorter pieces.
+# (C) 2015 juewei@fabmail.org
+#
+# code snippets visited to learn the extension 'effect' interface:
+# - convert2dashes.py
+# - http://github.com/jnweiger/inkscape-silhouette
+# - http://github.com/jnweiger/inkscape-gears-dev
+# - http://sourceforge.net/projects/inkcut/
+# - http://code.google.com/p/inkscape2tikz/
+# - http://code.google.com/p/eggbotcode/
+#
+# 2015-11-15 jw, V0.1 -- initial draught
+# 2015-11-16 jw, V0.2 -- fixed endpoints after chaining.
+# 2015-11-16 jw, V0.3 -- all possible chains connected. Yeah
+# 2015-11-16 jw, V0.4 -- gui fully functional.
+# 2015-11-26 jw, V0.5 -- HACK to resolve some self-reversing path segments.
+# https://github.com/fablabnbg/inkscape-chain-paths/issues/1
+# 2020-04-10 jw, V0.6 -- Close paths correctly. Self reversing path hack was too eager.
+# Workaround for cubicsuperpath.parsePath/formatPath limitation.
+# Started python3 compatibility.
+# 2020-05-27 vi, V0.7 -- Upgrade to Inkscape 1.0. Write debug info to inkex debug dialog.
+
+from __future__ import print_function
+
+__version__ = '0.7' # Keep in sync with chain_paths.inx ca line 22
+__author__ = 'Juergen Weigert '
+__credits__ = ['Juergen Weigert', 'Veronika Irvine']
+
+import sys
+import math
+import re
+import inkex
+from inkex.paths import CubicSuperPath, Path
+from optparse import SUPPRESS_HELP
+debug = False
+
+class ChainPaths(inkex.EffectExtension):
+
+ def __init__(self):
+ inkex.Effect.__init__(self)
+
+ # For handling an SVG viewbox attribute, we will need to know the
+ # values of the document's