diff --git a/CMakeScripts/DefineDependsandFlags.cmake b/CMakeScripts/DefineDependsandFlags.cmake
index 81cc8514aa70e23605867c8369646e4d16d647cf..1fab6f1e786c90e6b737fab7e8357d2ee9381471 100644
--- a/CMakeScripts/DefineDependsandFlags.cmake
+++ b/CMakeScripts/DefineDependsandFlags.cmake
@@ -134,7 +134,7 @@ pkg_check_modules(INKSCAPE_DEP REQUIRED
bdw-gc #boehm-demers-weiser gc
lcms2)
-# remove this line and uncomment the doiuble-conversion above when double-conversion.pc file gets shipped on all platforms we support
+# remove this line and uncomment the double-conversion above when double-conversion.pc file gets shipped on all platforms we support
find_package(DoubleConversion REQUIRED) # lib2geom dependency
sanitize_ldflags_for_libs(INKSCAPE_DEP_LDFLAGS)
@@ -142,6 +142,7 @@ list(APPEND INKSCAPE_LIBS ${INKSCAPE_DEP_LDFLAGS})
list(APPEND INKSCAPE_INCS_SYS ${INKSCAPE_DEP_INCLUDE_DIRS})
add_definitions(${INKSCAPE_DEP_CFLAGS_OTHER})
+add_compile_definitions(HAVE_GSL) # used by lib2geom headers
if(WITH_JEMALLOC)
find_package(JeMalloc)
diff --git a/po/POTFILES.src.in b/po/POTFILES.src.in
index 50e24abeea2267c9b6e920ab529e0c21d0ca2187..7d480f4d01693f9381526e0851b98eb77141d38a 100644
--- a/po/POTFILES.src.in
+++ b/po/POTFILES.src.in
@@ -338,7 +338,9 @@ ${_build_dir}/share/templates/templates.h
../src/ui/modifiers.cpp
../src/ui/shape-editor-knotholders.cpp
../src/ui/shortcuts.cpp
+../src/ui/tool/bezier-curve-handler.cpp
../src/ui/tool/curve-drag-point.cpp
+../src/ui/tool/elliptical-arc-handler.cpp
../src/ui/tool/multi-path-manipulator.cpp
../src/ui/tool/node.cpp
../src/ui/tool/path-manipulator.cpp
diff --git a/share/icons/Dash/symbolic/actions/node-segment-arc-symbolic.svg b/share/icons/Dash/symbolic/actions/node-segment-arc-symbolic.svg
new file mode 100644
index 0000000000000000000000000000000000000000..f09fed134cef6a372c1f2827196eb2531ac7f371
--- /dev/null
+++ b/share/icons/Dash/symbolic/actions/node-segment-arc-symbolic.svg
@@ -0,0 +1,103 @@
+
+
+
+
diff --git a/share/icons/Dash/symbolic/actions/node-type-elliptical-symbolic.svg b/share/icons/Dash/symbolic/actions/node-type-elliptical-symbolic.svg
new file mode 100644
index 0000000000000000000000000000000000000000..93abaad1e2ef6c9dccfbe20be5fa580b0e5e5bd2
--- /dev/null
+++ b/share/icons/Dash/symbolic/actions/node-type-elliptical-symbolic.svg
@@ -0,0 +1,94 @@
+
+
diff --git a/share/icons/hicolor/symbolic/actions/node-segment-arc-symbolic.svg b/share/icons/hicolor/symbolic/actions/node-segment-arc-symbolic.svg
new file mode 100644
index 0000000000000000000000000000000000000000..f09fed134cef6a372c1f2827196eb2531ac7f371
--- /dev/null
+++ b/share/icons/hicolor/symbolic/actions/node-segment-arc-symbolic.svg
@@ -0,0 +1,103 @@
+
+
+
+
diff --git a/share/icons/hicolor/symbolic/actions/node-type-elliptical-symbolic.svg b/share/icons/hicolor/symbolic/actions/node-type-elliptical-symbolic.svg
new file mode 100644
index 0000000000000000000000000000000000000000..93abaad1e2ef6c9dccfbe20be5fa580b0e5e5bd2
--- /dev/null
+++ b/share/icons/hicolor/symbolic/actions/node-type-elliptical-symbolic.svg
@@ -0,0 +1,94 @@
+
+
diff --git a/share/icons/multicolor/symbolic/actions/node-segment-arc-symbolic.svg b/share/icons/multicolor/symbolic/actions/node-segment-arc-symbolic.svg
new file mode 100644
index 0000000000000000000000000000000000000000..f09fed134cef6a372c1f2827196eb2531ac7f371
--- /dev/null
+++ b/share/icons/multicolor/symbolic/actions/node-segment-arc-symbolic.svg
@@ -0,0 +1,103 @@
+
+
+
+
diff --git a/share/icons/multicolor/symbolic/actions/node-type-elliptical-symbolic.svg b/share/icons/multicolor/symbolic/actions/node-type-elliptical-symbolic.svg
new file mode 100644
index 0000000000000000000000000000000000000000..93abaad1e2ef6c9dccfbe20be5fa580b0e5e5bd2
--- /dev/null
+++ b/share/icons/multicolor/symbolic/actions/node-type-elliptical-symbolic.svg
@@ -0,0 +1,94 @@
+
+
diff --git a/share/themes b/share/themes
index 0a8234085a2f55aabd02a0afb60c035823ef46a5..2fc6ece138323f905c9b475c3bcdef0d007eb233 160000
--- a/share/themes
+++ b/share/themes
@@ -1 +1 @@
-Subproject commit 0a8234085a2f55aabd02a0afb60c035823ef46a5
+Subproject commit 2fc6ece138323f905c9b475c3bcdef0d007eb233
diff --git a/share/ui/toolbar-node.ui b/share/ui/toolbar-node.ui
index f48308e3403a37564f19de6909744d10743f2105..1503054cc65f2619418d408b2a808951a61a7e2d 100644
--- a/share/ui/toolbar-node.ui
+++ b/share/ui/toolbar-node.ui
@@ -232,6 +232,22 @@
+
+
+
+
+
+ node-segment-arc
+
+
+
+