diff --git a/benchmarks/extrude/Cube-01-ExtrMesh.geo b/benchmarks/extrude/Cube-01-ExtrMesh.geo
index 646c55eefa1e737024b2f6e1e3353dd0888d87a1..edcfec9dc5f58ba48fa2623e4f51a9377bc9e5de 100644
--- a/benchmarks/extrude/Cube-01-ExtrMesh.geo
+++ b/benchmarks/extrude/Cube-01-ExtrMesh.geo
@@ -10,12 +10,10 @@ Line(3) = {2,1};
 Line(4) = {1,4};                                          
 Line Loop(5) = {2,3,4,1};                                          
 Plane Surface(6) = {5};                                          
-Extrude Surface {6, {0,0.0,1}}                               
-{                               
+Extrude {0,0.0,1}{                               
+  Surface{6};
   Layers {{10,5,10},{100,200,300},{.1,.9,1.}};                                  
   //Recombine;
-} ;
+}
 
 Physical Volume(99) = {100,200,300};
-
-     
diff --git a/benchmarks/extrude/torus_hexa.geo b/benchmarks/extrude/torus_hexa.geo
index cd6f2f92884c49b5aea9235b3857df62bca90084..23390d456d71afdd85252d360b39b3a26887b76b 100644
--- a/benchmarks/extrude/torus_hexa.geo
+++ b/benchmarks/extrude/torus_hexa.geo
@@ -44,21 +44,14 @@ Transfinite Surface {22} = {11,12,13,10};
 
 Recombine Surface {14:22:2};
 
-Extrude Surface {14, {0,0,1}, {0,0,0}, 2*Pi/3}{Recombine;Layers{10,73,1};};
-Extrude Surface {16, {0,0,1}, {0,0,0}, 2*Pi/3}{Recombine;Layers{10,73,1};};
-Extrude Surface {18, {0,0,1}, {0,0,0}, 2*Pi/3}{Recombine;Layers{10,73,1};};
-Extrude Surface {20, {0,0,1}, {0,0,0}, 2*Pi/3}{Recombine;Layers{10,73,1};};
-Extrude Surface {22, {0,0,1}, {0,0,0}, 2*Pi/3}{Recombine;Layers{10,73,1};};
+s[] = Extrude {{0,0,1}, {0,0,0}, 2*Pi/3}{
+  Surface{14:22:2}; Recombine; Layers{10,73,1};
+};
 
-Extrude Surface {44, {0,0,1}, {0,0,0}, 2*Pi/3}{Recombine;Layers{10,73,1};};
-Extrude Surface {66, {0,0,1}, {0,0,0}, 2*Pi/3}{Recombine;Layers{10,73,1};};
-Extrude Surface {88, {0,0,1}, {0,0,0}, 2*Pi/3}{Recombine;Layers{10,73,1};};
-Extrude Surface {110, {0,0,1}, {0,0,0}, 2*Pi/3}{Recombine;Layers{10,73,1};};
-Extrude Surface {132, {0,0,1}, {0,0,0}, 2*Pi/3}{Recombine;Layers{10,73,1};};
-
-Extrude Surface {154, {0,0,1}, {0,0,0}, 2*Pi/3}{Recombine;Layers{10,73,1};};
-Extrude Surface {176, {0,0,1}, {0,0,0}, 2*Pi/3}{Recombine;Layers{10,73,1};};
-Extrude Surface {198, {0,0,1}, {0,0,0}, 2*Pi/3}{Recombine;Layers{10,73,1};};
-Extrude Surface {220, {0,0,1}, {0,0,0}, 2*Pi/3}{Recombine;Layers{10,73,1};};
-Extrude Surface {242, {0,0,1}, {0,0,0}, 2*Pi/3}{Recombine;Layers{10,73,1};};
+s[] = Extrude {{0,0,1}, {0,0,0}, 2*Pi/3}{
+  Surface{s[{0:8:2}]}; Recombine; Layers{10,73,1};
+};
 
+Extrude {{0,0,1}, {0,0,0}, 2*Pi/3}{
+  Surface{s[{0:8:2}]}; Recombine; Layers{10,73,1};
+}
diff --git a/benchmarks/extrude/vianew-rec.geo b/benchmarks/extrude/vianew-rec.geo
index 104862e66e8934308849d7192a29f07af8a18e21..60a47e13cec18082044c2461278ea354873b76da 100644
--- a/benchmarks/extrude/vianew-rec.geo
+++ b/benchmarks/extrude/vianew-rec.geo
@@ -95,20 +95,20 @@ NLdn = 8;
 NLup = 3;
 
 // extrude down first:
-Extrude Surface {42, {0,0,-A*L}}{ Layers { {NLdn}, {9001}, {1} } ; Recombine; };
+Extrude {0,0,-A*L} {
+  Surface{42};
+  Layers { {NLdn}, {9001}, {1} } ; 
+  Recombine;
+}
+
 // extrude up second:
-Extrude Surface {26, {0,0,L}}{ Layers { {NLup}, {9000}, {1} } ; Recombine;};
-Extrude Surface {28, {0,0,L}}{ Layers { {NLup}, {9000}, {1} } ; Recombine;};
-Extrude Surface {30, {0,0,L}}{ Layers { {NLup}, {9000}, {1} } ; Recombine;};
-Extrude Surface {32, {0,0,L}}{ Layers { {NLup}, {9000}, {1} } ; Recombine;};
-Extrude Surface {34, {0,0,L}}{ Layers { {NLup}, {9000}, {1} } ; Recombine;};
-Extrude Surface {36, {0,0,L}}{ Layers { {NLup}, {9000}, {1} } ; Recombine;};
-Extrude Surface {38, {0,0,L}}{ Layers { {NLup}, {9000}, {1} } ; Recombine;};
-Extrude Surface {40, {0,0,L}}{ Layers { {NLup}, {9000}, {1} } ; Recombine;};
-Extrude Surface {42, {0,0,L}}{ Layers { {NLup}, {9000}, {1} } ; Recombine;};
+Extrude {0,0,L} {
+  Surface { 26:42:2 };
+  Layers { {NLup}, {9000}, {1} }; 
+  Recombine;
+}
 
 // wafer surface including surfaces that are extruded downwards:
 Physical Surface(1001) = {26,28,30,32,34,36,38,40, 51,55,59,63,64};
 Physical Surface(1009) = {73,95,117,121,139,161,165,183,205,209,227,85, 86,108,130,152,174,196,218,240,262};
 Physical Volume(2001)  = {9000,9001};
-
diff --git a/benchmarks/extrude/vianew.geo b/benchmarks/extrude/vianew.geo
index 58fc446fccbfd278a4cae1cbaf2e01b181790063..7d9763228c2d33decf05a45daf93d74597e7855a 100644
--- a/benchmarks/extrude/vianew.geo
+++ b/benchmarks/extrude/vianew.geo
@@ -93,20 +93,18 @@ NLdn = 8;
 NLup = 3;
 
 // extrude down first:
-Extrude Surface {42, {0,0,-A*L}}{ Layers { {NLdn}, {9001}, {1} } ; };
+Extrude {0,0,-A*L} {
+  Surface{42};
+  Layers { {NLdn}, {9001}, {1} } ; 
+}
+
 // extrude up second:
-Extrude Surface {26, {0,0,L}}{ Layers { {NLup}, {9000}, {1} } ; };
-Extrude Surface {28, {0,0,L}}{ Layers { {NLup}, {9000}, {1} } ; };
-Extrude Surface {30, {0,0,L}}{ Layers { {NLup}, {9000}, {1} } ; };
-Extrude Surface {32, {0,0,L}}{ Layers { {NLup}, {9000}, {1} } ; };
-Extrude Surface {34, {0,0,L}}{ Layers { {NLup}, {9000}, {1} } ; };
-Extrude Surface {36, {0,0,L}}{ Layers { {NLup}, {9000}, {1} } ; };
-Extrude Surface {38, {0,0,L}}{ Layers { {NLup}, {9000}, {1} } ; };
-Extrude Surface {40, {0,0,L}}{ Layers { {NLup}, {9000}, {1} } ; };
-Extrude Surface {42, {0,0,L}}{ Layers { {NLup}, {9000}, {1} } ; };
+Extrude {0,0,L} {
+  Surface { 26:42:2 };
+  Layers { {NLup}, {9000}, {1} }; 
+}
 
 // wafer surface including surfaces that are extruded downwards:
 Physical Surface(1001) = {26,28,30,32,34,36,38,40, 51,55,59,63,64};
 Physical Surface(1009) = {73,95,117,121,139,161,165,183,205,209,227,85, 86,108,130,152,174,196,218,240,262};
 Physical Volume(2001)  = {9000,9001};
-
diff --git a/demos/pripyrtet.geo b/demos/pripyrtet.geo
index 22ad79a3059ac6dff106c8d7e1514493d5b23983..323fece6d1a1d7b483aa02c7dab6b1f7c0dbbaa3 100644
--- a/demos/pripyrtet.geo
+++ b/demos/pripyrtet.geo
@@ -11,5 +11,6 @@ Line(3) = {2,1};
 Line(4) = {1,4};
 Line Loop(5) = {2,3,4,1};
 Plane Surface(6) = {5};
-Extrude Surface {6, {0,1,0}, {0,0,0}, -Pi/4}{Layers{3,1};Recombine;};
-
+Extrude {{0,1,0}, {0,0,0}, -Pi/4}{
+  Surface{6}; Layers{3,1}; Recombine;
+}