diff --git a/benchmarks/2d/TieAnchor520.geo b/benchmarks/2d/TieAnchor520.geo
index ded2605a9d21af82fa673f9da0776d974d88da18..b5479a4eb86e6dcd105c2ec312360553cd9b0c55 100644
--- a/benchmarks/2d/TieAnchor520.geo
+++ b/benchmarks/2d/TieAnchor520.geo
@@ -1,8 +1,8 @@
-/********************************************************************* 
+/*********************************************************************
  *
  *  Blennerhassett Arch Bridge
  *  gmsh input file for Tie Cable Anchorage Local Model.
- *  
+ *
  *
  *  UNITS: INCHES
  *
@@ -32,7 +32,7 @@ lcXFine = 1 ;
 //
 // ______________________
 // GEOMETRICAL PARAMETERS
-xinit = 0 ;						// ORIGIN: Located at bot. flange of tie at intersection of 
+xinit = 0 ;						// ORIGIN: Located at bot. flange of tie at intersection of
 zinit = 0 ;						// tie web west with line of action of lower lateral bracing
 yinit = 0 ;						// and CL Floorbeam
 Dtie = 85.625 ;						// depth of tie
@@ -59,8 +59,8 @@ wAnchPlate = 22 ;					// width of Anchor End-Plate (and hole in webs)
 hAnchPlate = 23 ;					// height of Anchor End-Plate (and hole in webs)
 xCableN = xinit-22.125 ;				// x-position CL North cable anchorage at anchor-point
 xCableS = xinit+22.125 ;				// x-position CL South cable anchorage at anchor-point
-yCableN = yFlBot+63.5625 ;				// y-position North cable anchor point at bot of anchorage webs 
-yCableS = yCableN ;					// y-position South cable anchor point at bot of anchorage webs 
+yCableN = yFlBot+63.5625 ;				// y-position North cable anchor point at bot of anchorage webs
+yCableS = yCableN ;					// y-position South cable anchor point at bot of anchorage webs
 holeWidth = DiaCable+ClearanceCable;  			// width of minor axis of hole in bot. flange
 holeLength = holeWidth/(Cos(thetaN*Pi/180));		// length of major axis of hole in bot. flange
 //
@@ -68,7 +68,7 @@ dLLB=24.375 ;						// depth of Lower Lateral Bracing
 //
 //
 //
-/********************************************************************* 
+/*********************************************************************
  *
  *  STANDARD FUNCTIONS
  *
@@ -116,8 +116,8 @@ Return
 // WARNING: function will crash if lines are parallel or vertical (slope = infinity)
 // input x1,y1 input x2,y2 input u1,v1 input u2,v2
 // output xi,yi
-// if (x1-xi)*(xi-x2)>=0 AND (u1-xi)*(xi-u2)>=0 
-//    AND (y1-yi)*(yi-y2)>=0 AND (v1-yi)*(yi-v2)>=0 
+// if (x1-xi)*(xi-x2)>=0 AND (u1-xi)*(xi-u2)>=0
+//    AND (y1-yi)*(yi-y2)>=0 AND (v1-yi)*(yi-v2)>=0
 //
 Function IsectLines2d
 FCTb1 = (FCTy2-FCTy1)/(FCTx2-FCTx1) ;
@@ -145,7 +145,7 @@ Return
 //
 //
 //
-/********************************************************************* 
+/*********************************************************************
  *
  *  GENERATE MESH
  *
@@ -155,7 +155,7 @@ Return
 //
 //
 //
-/********************************************************************* 
+/*********************************************************************
  *
  *  TIE WEB EAST
  *
@@ -168,7 +168,7 @@ lc101000VFine = lcVFine;
 // ______
 // POINTS
 //
-// Interface Bot. Flange 
+// Interface Bot. Flange
 p101100=newp;	Point(p101100) = {xinit-1.3*Dtie,	yinit,			zWebEast,	lc101000};	c101100[]={Point{p101100}};
 p101108=newp;	Point(p101108) = {xinit-8.375,		c101100[1],		c101100[2],	lc101000Fine};	c101108[]={Point{p101108}};
 p101110=newp;	Point(p101110) = {xinit,		c101100[1],		c101100[2],	lc101000Fine};	c101110[]={Point{p101110}};
@@ -281,7 +281,7 @@ L222220=newl;	Line(L222220) = {p122220, p122320};
 // __________
 // LINE LOOPS
 //
-// 
+//
 LL101001=newl;	Line Loop(LL101001) =	{L101100,L201108,-L101500,-L201100};
 LL101002=newl;	Line Loop(LL101002) =	{L101108,L201110,L201210,L201410,-L101508,-L201108};
 LL101003=newl;	Line Loop(LL101003) =	{L101110,L201112,-L101510,-L201410,-L201210,-L201110};
@@ -324,7 +324,7 @@ PS122004=news;	Plane Surface(PS122004) =	{LL122004};
 PS122005=news;	Plane Surface(PS122005) =	{LL122005};
 //
 //
-/********************************************************************* 
+/*********************************************************************
  *
  *  TIE WEB WEST
  *
@@ -338,7 +338,7 @@ lc102000XFine = lcXFine;
 // ______
 // POINTS
 //
-// Interface Bot. Flange 
+// Interface Bot. Flange
 p102100=newp;	Point(p102100) = {c101100[0],		c101100[1],		zWebWest,	lc102000};	c102100[]={Point{p102100}};
 p102105=newp;	Point(p102105) = {c101110[0]-16,	c102100[1],		c102100[2],	lc102000Fine};	c102105[]={Point{p102105}};
 p102108=newp;	Point(p102108) = {c101110[0]-8.375,	c102100[1],		c102100[2],	lc102000Fine};	c102108[]={Point{p102108}};
@@ -530,7 +530,7 @@ L236378=newl;	Line(L236378) = {p102378, p136320};
 // __________
 // LINE LOOPS
 //
-// 
+//
 LL102001=newl;	Line Loop(LL102001) =	{L102100,L102105,L202108,-L102505,-L102500,-L202100};
 LL102002=newl;	Line Loop(LL102002) =	{L102108,L202110,L202210,L202410,-L102508,-L202108};
 LL102003=newl;	Line Loop(LL102003) =	{L102110,L202112,L202352,L202312,L202372,-L102510,-L202410,-L202210,-L202110};
@@ -603,7 +603,7 @@ PS136014=news;	Plane Surface(PS136014) =	{LL136014};
 //
 
 //
-/********************************************************************* 
+/*********************************************************************
  *
  *  TIE FLANGE TOP
  *
@@ -616,7 +616,7 @@ lc103000VFine = lcVFine;
 // ______
 // POINTS
 //
-// Interface East Web 
+// Interface East Web
 p103100=p101500;	c103100[]={Point{p103100}};
 p103108=p101508;	c103108[]={Point{p103108}};
 p103110=p101510;	c103110[]={Point{p103110}};
@@ -637,7 +637,7 @@ p103310=newp;	Point(p103310) = {c102510[0],		c103100[1],		c103300[2],		lc103000F
 //p103315=newp;	Point(p103315) = {c102515[0],		c103100[1],		c103300[2],		lc103000Med};	c103315[]={Point{p103315}};
 p103315=newp;	Point(p103315) = {c103310[0]+17.125,	c103100[1],		c103300[2],		lc103000Med};	c103315[]={Point{p103315}};
 p103325=newp;	Point(p103325) = {c102525[0],		c103100[1],		c103300[2],		lc103000};	c103325[]={Point{p103325}};
-// Interface West Web 
+// Interface West Web
 p103400=p102500;	c103400[]={Point{p103400}};
 p103405=p102505;	c103405[]={Point{p103405}};
 p103408=p102508;	c103408[]={Point{p103408}};
@@ -751,7 +751,7 @@ L103914=newl;	Line(L103914) = {p103804, p103904};
 // __________
 // LINE LOOPS
 //
-// 
+//
 LL103001=newl;	Line Loop(LL103001) =	{L103100,L103108,L203110,-L103205,-L103200,-L203100};
 LL103002=newl;	Line Loop(LL103002) =	{L103110,L103112,L203125,-L103215,-L103210,-L203110};
 //
@@ -810,7 +810,7 @@ PS103905=news;	Plane Surface(PS103905) =	{LL103905};
 //
 //
 //
-/********************************************************************* 
+/*********************************************************************
  *
  *  TIE FLANGE TOP, GUIDE PIPE NORTH
  *
@@ -846,15 +846,15 @@ c103764[] = Translate {-6*Sin(thetaN*Pi/180),6*Cos(thetaN*Pi/180),0} {Duplicata
 If (thetaN < 0)
 	c103780[] = Translate	{-36*Sin(thetaN*Pi/180),
 				36*Cos(thetaN*Pi/180),
-				0} 
+				0}
 				{Duplicata { Point {p103600}; } } ; p103780 = c103780[0];
 	c103781[] = Translate	{-30*Sin(thetaN*Pi/180),
 				30*Cos(thetaN*Pi/180),
-				0} 
+				0}
 				{Duplicata { Point {p103761}; } } ; p103781 = c103781[0];
 	c103782[] = Translate	{-30*Sin(thetaN*Pi/180) + DiaCable/2*Sin(thetaN*Pi/180)*Tan(thetaN*Pi/180),
 				30*Cos(thetaN*Pi/180) - DiaCable/2*Cos(thetaN*Pi/180)*Tan(thetaN*Pi/180),
-				0} 
+				0}
 				{Duplicata { Point {p103762}; } } ; p103782 = c103782[0];
 	c103783[] = Translate	{-30*Sin(thetaN*Pi/180),
 				30*Cos(thetaN*Pi/180),
@@ -867,11 +867,11 @@ EndIf
 If (thetaN > 0)
 	c103780[] = Translate	{-36*Sin(thetaN*Pi/180),
 				36*Cos(thetaN*Pi/180),
-				0} 
+				0}
 				{Duplicata { Point {p103600}; } } ; p103780 = c103780[0];
 	c103781[] = Translate	{-30*Sin(thetaN*Pi/180),
 				30*Cos(thetaN*Pi/180),
-				0} 
+				0}
 				{Duplicata { Point {p103761}; } } ; p103781 = c103781[0];
 	c103782[] = Translate	{-30*Sin(thetaN*Pi/180) - DiaCable/2*Sin(thetaN*Pi/180)*Tan(thetaN*Pi/180),
 				30*Cos(thetaN*Pi/180) + DiaCable/2*Cos(thetaN*Pi/180)*Tan(thetaN*Pi/180),
@@ -887,7 +887,7 @@ EndIf
 //
 // _____
 // LINES
-// 
+//
 L103751=newl; Line(L103751) = {p103701, p103751};
 L103752=newl; Line(L103752) = {p103702, p103752};
 L103753=newl; Line(L103753) = {p103703, p103753};
@@ -912,7 +912,7 @@ L103791=newl; Ellipse(L103791) = {p103781,p103780,p103782,p103782};
 L103792=newl; Ellipse(L103792) = {p103782,p103780,p103782,p103783};
 L103793=newl; Ellipse(L103793) = {p103783,p103780,p103784,p103784};
 L103794=newl; Ellipse(L103794) = {p103784,p103780,p103784,p103781};
-// 
+//
 // connect ellipses with lines along axis of pipe
 L103795=newl; Line(L103795) = {p103761,p103781};
 L103796=newl; Line(L103796) = {p103762,p103782};
@@ -975,23 +975,10 @@ PSpipe103663=news; Surface(PSpipe103663) = {LL103663};
 PSpipe103664=news; Surface(PSpipe103664) = {LL103664};
 //
 //
-// __________
-// EXTRUSIONS
-//Extrude Line { L103651, {-30*Sin(thetaN*Pi/180),30*Cos(thetaN*Pi/180),0} } {Recombine;}; PSpipe103651 = news-1;
-//Extrude Line { L103652, {-30*Sin(thetaN*Pi/180),30*Cos(thetaN*Pi/180),0} } {Recombine;}; PSpipe103652 = news-1;
-//Extrude Line { L103653, {-30*Sin(thetaN*Pi/180),30*Cos(thetaN*Pi/180),0} } {Recombine;}; PSpipe103653 = news-1;
-//Extrude Line { L103654, {-30*Sin(thetaN*Pi/180),30*Cos(thetaN*Pi/180),0} } {Recombine;}; PSpipe103654 = news-1;
-//
-//Extrude Line { L103601, {-6*Sin(thetaN*Pi/180),6*Cos(thetaN*Pi/180),0} } {Recombine;}; PSpipe103601 = news-1;
-//Extrude Line { L103602, {-6*Sin(thetaN*Pi/180),6*Cos(thetaN*Pi/180),0} } {Recombine;}; PSpipe103602 = news-1;
-//Extrude Line { L103603, {-6*Sin(thetaN*Pi/180),6*Cos(thetaN*Pi/180),0} } {Recombine;}; PSpipe103603 = news-1;
-//Extrude Line { L103604, {-6*Sin(thetaN*Pi/180),6*Cos(thetaN*Pi/180),0} } {Recombine;}; PSpipe103604 = news-1;
-//
 //
 //
 //
-//
-/********************************************************************* 
+/*********************************************************************
  *
  *  TIE FLANGE TOP, GUIDE PIPE SOUTH
  *
@@ -1019,15 +1006,15 @@ c103964[] = Translate {-6*Sin(thetaS*Pi/180),6*Cos(thetaS*Pi/180),0} {Duplicata
 If (thetaS < 0)
 	c103980[] = Translate	{-36*Sin(thetaS*Pi/180),
 				36*Cos(thetaS*Pi/180),
-				0} 
+				0}
 				{Duplicata { Point {p103800}; } } ; p103980 = c103980[0];
 	c103981[] = Translate	{-30*Sin(thetaS*Pi/180),
 				30*Cos(thetaS*Pi/180),
-				0} 
+				0}
 				{Duplicata { Point {p103961}; } } ; p103981 = c103981[0];
 	c103982[] = Translate	{-30*Sin(thetaS*Pi/180) + DiaCable/2*Sin(thetaS*Pi/180)*Tan(thetaS*Pi/180),
 				30*Cos(thetaS*Pi/180) - DiaCable/2*Cos(thetaS*Pi/180)*Tan(thetaS*Pi/180),
-				0} 
+				0}
 				{Duplicata { Point {p103962}; } } ; p103982 = c103982[0];
 	c103983[] = Translate	{-30*Sin(thetaS*Pi/180),
 				30*Cos(thetaS*Pi/180),
@@ -1040,11 +1027,11 @@ EndIf
 If (thetaS > 0)
 	c103980[] = Translate	{-36*Sin(thetaS*Pi/180),
 				36*Cos(thetaS*Pi/180),
-				0} 
+				0}
 				{Duplicata { Point {p103800}; } } ; p103980 = c103980[0];
 	c103981[] = Translate	{-30*Sin(thetaS*Pi/180),
 				30*Cos(thetaS*Pi/180),
-				0} 
+				0}
 				{Duplicata { Point {p103961}; } } ; p103981 = c103981[0];
 	c103982[] = Translate	{-30*Sin(thetaS*Pi/180) - DiaCable/2*Sin(thetaS*Pi/180)*Tan(thetaS*Pi/180),
 				30*Cos(thetaS*Pi/180) + DiaCable/2*Cos(thetaS*Pi/180)*Tan(thetaS*Pi/180),
@@ -1060,7 +1047,7 @@ EndIf
 //
 // _____
 // LINES
-// 
+//
 L103951=newl; Line(L103951) = {p103901, p103951};
 L103952=newl; Line(L103952) = {p103902, p103952};
 L103953=newl; Line(L103953) = {p103903, p103953};
@@ -1085,7 +1072,7 @@ L103991=newl; Ellipse(L103991) = {p103981,p103980,p103982,p103982};
 L103992=newl; Ellipse(L103992) = {p103982,p103980,p103982,p103983};
 L103993=newl; Ellipse(L103993) = {p103983,p103980,p103984,p103984};
 L103994=newl; Ellipse(L103994) = {p103984,p103980,p103984,p103981};
-// 
+//
 // connect ellipses with lines along axis of pipe
 L103995=newl; Line(L103995) = {p103961,p103981};
 L103996=newl; Line(L103996) = {p103962,p103982};
@@ -1139,18 +1126,10 @@ PSpipe103863=news; Surface(PSpipe103863) = {LL103863};
 PSpipe103864=news; Surface(PSpipe103864) = {LL103864};
 //
 //
-// __________
-// EXTRUSIONS
-//
-//Extrude Line { L103801, {-6*Sin(thetaS*Pi/180),6*Cos(thetaS*Pi/180),0} } {Recombine;}; PSpipe103801 = news-1;
-//Extrude Line { L103802, {-6*Sin(thetaS*Pi/180),6*Cos(thetaS*Pi/180),0} } {Recombine;}; PSpipe103802 = news-1;
-//Extrude Line { L103803, {-6*Sin(thetaS*Pi/180),6*Cos(thetaS*Pi/180),0} } {Recombine;}; PSpipe103803 = news-1;
-//Extrude Line { L103804, {-6*Sin(thetaS*Pi/180),6*Cos(thetaS*Pi/180),0} } {Recombine;}; PSpipe103804 = news-1;
 //
 //
 //
-//
-/********************************************************************* 
+/*********************************************************************
  *
  *  TIE FLANGE BOT
  *
@@ -1162,7 +1141,7 @@ lc104000Fine = lcFine;
 // ______
 // POINTS
 //
-// Interface East Web 
+// Interface East Web
 p104100=p101100;	c104100[]={Point{p104100}};
 p104108=p101108;	c104108[]={Point{p104108}};
 p104110=p101110;	c104110[]={Point{p104110}};
@@ -1180,7 +1159,7 @@ p104305=newp;	Point(p104305) = {c102505[0],		c104100[1],		c103300[2],	lc103000Me
 p104310=newp;	Point(p104310) = {c102510[0],		c104100[1],		c103300[2],	lc103000Fine};	c104310[]={Point{p104310}};
 p104320=newp;	Point(p104320) = {c104215[0],		c104100[1],		c103300[2],	lc103000Med};	c104320[]={Point{p104320}};
 p104325=newp;	Point(p104325) = {c102525[0],		c104100[1],		c103300[2],	lc103000};	c104325[]={Point{p104325}};
-// Interface West Web 
+// Interface West Web
 p104400=p102100;	c104400[]={Point{p104400}};
 p104405=p102105;	c104405[]={Point{p104405}};
 p104408=p102108;	c104408[]={Point{p104408}};
@@ -1238,7 +1217,7 @@ L204325=newl;	Line(L204325) = {p104325, p104425};
 // __________
 // LINE LOOPS
 //
-// 
+//
 LL104001=newl;	Line Loop(LL104001) =	{L104100,L104108,L204110,-L104205,-L104200,-L204100};
 LL104002=newl;	Line Loop(LL104002) =	{L104110,L104112,L204125,-L104215,-L104210,-L204110};
 //
@@ -1265,7 +1244,7 @@ PS104008=news;	Plane Surface(PS104008) =	{LL104008};
 PS104009=news;	Plane Surface(PS104009) =	{LL104009};
 PS104010=news;	Plane Surface(PS104010) =	{LL104010};
 //
-/********************************************************************* 
+/*********************************************************************
  *
  *  FLOORBEAM TOP FLANGE
  *
@@ -1277,7 +1256,7 @@ lc106000Fine = lcFine;
 // ______
 // POINTS
 //
-// Interface East Web 
+// Interface East Web
 p106100=p103405;	c106100[]={Point{p106100}};
 p106118=p103408;	c106118[]={Point{p106118}};
 p106120=p103410;	c106120[]={Point{p106120}};
@@ -1401,7 +1380,7 @@ L206425=newl;	Line(L206425) = {p106425, p106453};
 // __________
 // LINE LOOPS
 //
-// 
+//
 LL106001=newl;	Line Loop(LL106001) =	{L106100,L106118,L206120,L206151,-L106200,-L206100};
 LL106002=newl;	Line Loop(LL106002) =	{L106120,L106122,L206140,-L206151,-L106220,-L206120};
 LL106003=newl;	Line Loop(LL106003) =	{L106200,L206220,-L106251,L206251,-L106310,-L106300,-L206200};
@@ -1442,7 +1421,7 @@ PS106022=news;	Plane Surface(PS106022) =	{LL106022};
 PS106023=news;	Plane Surface(PS106023) =	{LL106023};
 PS106024=news;	Plane Surface(PS106024) =	{LL106024};
 //
-/********************************************************************* 
+/*********************************************************************
  *
  *  FLOORBEAM BOT FLANGE
  *
@@ -1454,7 +1433,7 @@ lc107000Fine = lcFine;
 // ______
 // POINTS
 //
-// Interface East Web 
+// Interface East Web
 p107100=p104405;	c107100[]={Point{p107100}};
 p107118=p104408;	c107118[]={Point{p107118}};
 p107120=p104410;	c107120[]={Point{p107120}};
@@ -1526,7 +1505,7 @@ L207440=newl;	Line(L207440) = {p107440, p107540};
 // __________
 // LINE LOOPS
 //
-// 
+//
 LL107001=newl;	Line Loop(LL107001) =	{L107100,L107118,L207120,L207151,-L107200,-L207100};
 LL107002=newl;	Line Loop(LL107002) =	{L107120,L107122,L207140,-L207151,-L107220,-L207120};
 LL107003=newl;	Line Loop(LL107003) =	{L107200,L207220,-L107310,-L107300,-L207200};
@@ -1547,7 +1526,7 @@ PS107006=news;	Plane Surface(PS107006) =	{LL107006};
 PS107007=news;	Plane Surface(PS107007) =	{LL107007};
 PS107008=news;	Plane Surface(PS107008) =	{LL107008};
 //
-/********************************************************************* 
+/*********************************************************************
  *
  *  FLOORBEAM WEB
  *
@@ -1636,7 +1615,7 @@ L303000=newl;	Line(L303000) = {p203000, p105550};
 // __________
 // LINE LOOPS
 //
-// 
+//
 LL105001=newl;	Line Loop(LL105001) =	{L205110,L205210,L205410,L105510,-L205415,-L205315,-L205215,-L205115,-L105110};
 LL105002=newl;	Line Loop(LL105002) =	{L205115,L105215,L205220,L205320,-L105415,L205415,L105515,L105520,L105525,-L205130,-L105120,-L105115};
 LL105003=newl;	Line Loop(LL105003) =	{L205130,L105530,L105532,L105538,-L205140,-L105130};
@@ -1653,7 +1632,7 @@ PS105004=news;	Plane Surface(PS105004) =	{LL105004};
 PS105005=news;	Plane Surface(PS105005) =	{LL105005};
 PS105006=news;	Plane Surface(PS105006) =	{LL105006};
 //
-/********************************************************************* 
+/*********************************************************************
  *
  *  FLOORBEAM STIFFENERS
  *
@@ -1665,7 +1644,7 @@ lc111000Fine = lcFine;
 // ______
 // POINTS
 //
-// 
+//
 p111100=p107320;	c111100[]={Point{p111100}};
 p111110=p107330;	c111110[]={Point{p111110}};
 p111500=p106320;	c111500[]={Point{p111500}};
@@ -1688,7 +1667,7 @@ p114510=p106410;	c114510[]={Point{p114510}};
 //
 // _____
 // LINES
-// 
+//
 L111100=L107320;
 L111500=L106320;
 L111550=L106325;
@@ -1717,7 +1696,7 @@ L214110=newl;	Line(L214110) = {p114110, p114510};
 // __________
 // LINE LOOPS
 //
-// 
+//
 LL111100=newl;	Line Loop(LL111100) =	{L111100,L211110,-L111550,-L111500,-L211100};
 LL112100=newl;	Line Loop(LL112100) =	{L112100,L212100,-L112550,-L112500,-L212110};
 LL113100=newl;	Line Loop(LL113100) =	{L113100,L213110,-L113550,-L113500,-L213100};
@@ -1730,7 +1709,7 @@ PS112100=news;	Plane Surface(PS112100) =	{LL112100};
 PS113100=news;	Plane Surface(PS113100) =	{LL113100};
 PS114100=news;	Plane Surface(PS114100) =	{LL114100};
 //
-/********************************************************************* 
+/*********************************************************************
  *
  *  LOWER LATERAL BRACING BOT FLANGE
  *
@@ -1742,7 +1721,7 @@ lc117000Fine = lcFine;
 // ______
 // POINTS
 //
-// 
+//
 p117100=newp;	Point(p117100) = {c102510[0]+37.25,	c102320[1]+17.5625*.02,	c102320[2]+17.5625,	lc117000};	c117100[]={Point{p117100}};
 p117110=newp;	Point(p117110) = {c102510[0]+74.375,	c102320[1]+48*.02,	c102320[2]+48,		lc117000};	c117110[]={Point{p117110}};
 p117200=newp;	Point(p117200) = {c102510[0]+23.9375,	c102320[1]+33.8125*.02,	c102320[2]+33.8125,	lc117000};	c117200[]={Point{p117200}};
@@ -1750,7 +1729,7 @@ p117210=newp;	Point(p117210) = {c102510[0]+61.125,	c102320[1]+64.25*.02,	c102320
 //
 // _____
 // LINES
-// 
+//
 L117100=newl;	Line(L117100) = {p117100, p117200};
 L117110=newl;	Line(L117110) = {p117110, p117210};
 L217100=newl;	Line(L217100) = {p117100, p117110};
@@ -1760,14 +1739,14 @@ L217200=newl;	Line(L217200) = {p117200, p117210};
 // __________
 // LINE LOOPS
 //
-// 
+//
 LL117100=newl;	Line Loop(LL117100) =	{L117100,L217200,-L117110,-L217100};
 //
 // ________
 // SURFACES
 PS117100=news;	Plane Surface(PS117100) =	{LL117100};
 //
-/********************************************************************* 
+/*********************************************************************
  *
  *  LOWER LATERAL BRACING TOP FLANGE
  *
@@ -1779,7 +1758,7 @@ lc118000Fine = lcFine;
 // ______
 // POINTS
 //
-// 
+//
 p118100=newp;	Point(p118100) = {c117100[0],		c117100[1]+dLLB,	c117100[2],		lc118000};	c118100[]={Point{p118100}};
 p118110=newp;	Point(p118110) = {c117110[0],		c117110[1]+dLLB,	c117110[2],		lc118000};	c118110[]={Point{p118110}};
 p118200=newp;	Point(p118200) = {c117200[0],		c117200[1]+dLLB,	c117200[2],		lc118000};	c118200[]={Point{p118200}};
@@ -1787,7 +1766,7 @@ p118210=newp;	Point(p118210) = {c117210[0],		c117210[1]+dLLB,	c117210[2],		lc118
 //
 // _____
 // LINES
-// 
+//
 L118100=newl;	Line(L118100) = {p118100, p118200};
 L118110=newl;	Line(L118110) = {p118110, p118210};
 L218100=newl;	Line(L218100) = {p118100, p118110};
@@ -1797,14 +1776,14 @@ L218200=newl;	Line(L218200) = {p118200, p118210};
 // __________
 // LINE LOOPS
 //
-// 
+//
 LL118100=newl;	Line Loop(LL118100) =	{L118100,L218200,-L118110,-L218100};
 //
 // ________
 // SURFACES
 PS118100=news;	Plane Surface(PS118100) =	{LL118100};
 //
-/********************************************************************* 
+/*********************************************************************
  *
  *  LOWER LATERAL BRACING EAST WEB
  *
@@ -1816,7 +1795,7 @@ lc115000Fine = lcFine;
 // ______
 // POINTS
 //
-// 
+//
 p115100=p118100;	c115100[]={Point{p115100}};
 p115110=p118110;	c115110[]={Point{p115110}};
 p115200=p117100;	c115200[]={Point{p115200}};
@@ -1824,7 +1803,7 @@ p115210=p117110;	c115210[]={Point{p115210}};
 //
 // _____
 // LINES
-// 
+//
 L115100=L218100;
 L115200=L217100;
 L215100=newl;	Line(L215100) = {p115100, p115200};
@@ -1834,7 +1813,7 @@ L215110=newl;	Line(L215110) = {p115110, p115210};
 // __________
 // LINE LOOPS
 //
-// 
+//
 LL115100=newl;	Line Loop(LL115100) =	{L115100,L215110,-L115200,-L215100};
 //
 // ________
@@ -1842,7 +1821,7 @@ LL115100=newl;	Line Loop(LL115100) =	{L115100,L215110,-L115200,-L215100};
 PS115100=news;	Plane Surface(PS115100) =	{LL115100};
 //
 //
-/********************************************************************* 
+/*********************************************************************
  *
  *  LOWER LATERAL BRACING WEST WEB
  *
@@ -1854,7 +1833,7 @@ lc116000Fine = lcFine;
 // ______
 // POINTS
 //
-// 
+//
 p116100=p118200;	c116100[]={Point{p116100}};
 p116110=p118210;	c116110[]={Point{p116110}};
 p116200=p117200;	c116200[]={Point{p116200}};
@@ -1862,7 +1841,7 @@ p116210=p117210;	c116210[]={Point{p116210}};
 //
 // _____
 // LINES
-// 
+//
 L116100=L218200;
 L116200=L217200;
 L216100=newl;	Line(L216100) = {p116100, p116200};
@@ -1872,14 +1851,14 @@ L216110=newl;	Line(L216110) = {p116110, p116210};
 // __________
 // LINE LOOPS
 //
-// 
+//
 LL116100=newl;	Line Loop(LL116100) =	{L116100,L216110,-L116200,-L216100};
 //
 // ________
 // SURFACES
 PS116100=news;	Plane Surface(PS116100) =	{LL116100};
 //
-/********************************************************************* 
+/*********************************************************************
  *
  *  GUSSET BOT
  *
@@ -1891,7 +1870,7 @@ lc108000Fine = lcFine;
 // ______
 // POINTS
 //
-// 
+//
 p108101=p105315;	c108101[]={Point{p108101}};
 p108102=p105320;	c108102[]={Point{p108102}};
 p108103=newp;	Point(p108103) = {c105110[0]+22.6875,	c108102[1],		c108102[2],		lc118000};	c108103[]={Point{p108103}};
@@ -1907,7 +1886,7 @@ p108112=p102312;	c108112[]={Point{p108112}};
 //
 // _____
 // LINES
-// 
+//
 L108101=L105315;
 L108102=newl;	Line(L108102) = {p108102, p108103};
 L108103=newl;	Line(L108103) = {p108103, p108104};
@@ -1925,14 +1904,14 @@ L108112=newl;	Line(L108112) = {p108112, p108101};
 // __________
 // LINE LOOPS
 //
-// 
+//
 LL108100=newl;	Line Loop(LL108100) =	{L108101,L108102,L108103,L108104,L108105,L108106,L108107,L108108,L108109,L108110,L108111,L108112};
 //
 // ________
 // SURFACES
 PS108100=news;	Plane Surface(PS108100) =	{LL108100};
 //
-/********************************************************************* 
+/*********************************************************************
  *
  *  GUSSET TOP
  *
@@ -1944,7 +1923,7 @@ lc109000Fine = lcFine;
 // ______
 // POINTS
 //
-// 
+//
 p109101=p106140;	c109101[]={Point{p109101}};
 p109102=p106240;	c109102[]={Point{p109102}};
 p109103=newp;	Point(p109103) = {c108103[0],		c108103[1]+dLLB,	c108103[2],		lc118000};	c109103[]={Point{p109103}};
@@ -1958,7 +1937,7 @@ p109200=p103990; // center of circular transition curve
 //
 // _____
 // LINES
-// 
+//
 L109101=L206140;
 L109102=newl;	Line(L109102) = {p109102, p109103};
 L109103=newl;	Line(L109103) = {p109103, p109104};
@@ -1972,7 +1951,7 @@ L109108=-L102515;
 // __________
 // LINE LOOPS
 //
-// 
+//
 LL109100=newl;	Line Loop(LL109100) =	{L109101,L109102,L109103,L109104,L109105,L109106,L109107,L109108};
 //
 // ________
@@ -1980,7 +1959,7 @@ LL109100=newl;	Line Loop(LL109100) =	{L109101,L109102,L109103,L109104,L109105,L1
 PS109100=news;	Plane Surface(PS109100) =	{LL109100};
 //
 //
-/********************************************************************* 
+/*********************************************************************
  *
  *  TIE DIAPHRAGM
  *
@@ -1992,7 +1971,7 @@ lc110000Fine = lcFine;
 // ______
 // POINTS
 //
-// 
+//
 p110210=p104210;	c110210[]={Point{p110210}};
 p110310=p104310;	c110310[]={Point{p110310}};
 p110120=p101210;	c110120[]={Point{p110120}};
@@ -2018,7 +1997,7 @@ p110612=newp;	Point(p110612) = {c110210[0],		c110210[1]+15.875-10,	c110420[2]-6.
 //
 // _____
 // LINES
-// 
+//
 L110101=-L204210;
 L110102=newl;	Line(L110102) = {p110210, p110120};
 L110103=L201210;
@@ -2043,7 +2022,7 @@ L110608=newl;	Circle(L110608) = {p110610,p110611,p110612};
 // __________
 // LINE LOOPS
 //
-// 
+//
 LL110101=newl;	Line Loop(LL110101) =	{L110101,L110102,L110103,L110104,L110105,L110106,L110108,L110109};
 LL110102=newl;	Line Loop(LL110102) =	{L110601,L110602,L110603,L110604,L110605,L110606,L110607,L110608};
 //
@@ -2052,7 +2031,7 @@ LL110102=newl;	Line Loop(LL110102) =	{L110601,L110602,L110603,L110604,L110605,L1
 PS110101=news;	Plane Surface(PS110101) =	{LL110101,LL110102};
 //
 //
-/********************************************************************* 
+/*********************************************************************
  *
  *  NORTH ANCHORAGE WEBS
  *
@@ -2087,7 +2066,7 @@ p119315=newp;	Point(p119315) = {c119000[0],		c119300[1],		c119215[2],		lc101000V
 p119325=newp;	Point(p119325) = {c119000[0],		c119300[1],		c119225[2],		lc101000VFine};	c119325[]={Point{p119325}};
 p119339=newp;	Point(p119339) = {c119000[0],		c119300[1],		c135305[2]-.5,		lc101000VFine};	c119339[]={Point{p119339}};
 p119340=p135305;	c119340[]={Point{p119340}};
-// 
+//
 // North Anchorage South Web
 p120000=p121015;	c120000[]={Point{p120000}};
 p120005=newp;	Point(p120005) = {c120000[0],		c120000[1],		c120000[2]+5.5,		lc101000VFine};	c120005[]={Point{p120005}};
@@ -2114,7 +2093,7 @@ p120315=newp;	Point(p120315) = {c120000[0],		c120300[1],		c120215[2],		lc101000V
 p120325=newp;	Point(p120325) = {c120000[0],		c120300[1],		c120225[2],		lc101000VFine};	c120325[]={Point{p120325}};
 p120339=newp;	Point(p120339) = {c120000[0],		c120300[1],		c135315[2]-.5,		lc101000VFine};	c120339[]={Point{p120339}};
 p120340=p135315;	c120340[]={Point{p120340}};
-// 
+//
 // Anchorage end-plates East
 Rotate{{0.0,0.0,1}, {xCableN,yCableN,zCableN}, thetaN*Pi/180} {
   Point{p121000}; Point{p121005}; Point{p121015}; Point{p121020};
@@ -2131,21 +2110,21 @@ Rotate{{0.0,0.0,1}, {xCableN,yCableN,zCableN}, thetaN*Pi/180} {
 //
 // North Anchorage Webs
 Rotate{{0.0,0.0,1}, {xCableN,yCableN,zCableN}, thetaN*Pi/180} {
-  Point{p119005}; Point{p119035}; 
+  Point{p119005}; Point{p119035};
   Point{p119105}; Point{p119110}; Point{p119130}; Point{p119135};
-  Point{p119210}; Point{p119213}; Point{p119215}; Point{p119227}; Point{p119225}; Point{p119230}; 
-  Point{p119301}; Point{p119315}; Point{p119325}; Point{p119339}; 
+  Point{p119210}; Point{p119213}; Point{p119215}; Point{p119227}; Point{p119225}; Point{p119230};
+  Point{p119301}; Point{p119315}; Point{p119325}; Point{p119339};
   }
 Rotate{{0.0,0.0,1}, {xCableN,yCableN,zCableN}, thetaN*Pi/180} {
-  Point{p120005}; Point{p120035}; 
+  Point{p120005}; Point{p120035};
   Point{p120105}; Point{p120110}; Point{p120130}; Point{p120135};
-  Point{p120210}; Point{p120213}; Point{p120215}; Point{p120225}; Point{p120227}; Point{p120230}; 
-  Point{p120301}; Point{p120315}; Point{p120325}; Point{p120339}; 
+  Point{p120210}; Point{p120213}; Point{p120215}; Point{p120225}; Point{p120227}; Point{p120230};
+  Point{p120301}; Point{p120315}; Point{p120325}; Point{p120339};
   }
 //
 // _____
 // LINES
-// 
+//
 // North Web
 L119000=newl;	Line(L119000) = {p119000, p119005};
 L119035=newl;	Line(L119035) = {p119035, p119040};
@@ -2204,14 +2183,14 @@ L220240=L235215;
 // __________
 // LINE LOOPS
 //
-// North Web 
+// North Web
 LL119101=newl;	Line Loop(LL119101) =	{L119000,L219005,L119105,-L119200,-L219000};
 LL119102=newl;	Line Loop(LL119102) =	{L119035,L219040,-L119230,L119135,-L219035};
 LL119103=newl;	Line Loop(LL119103) =	{L119200,L119210,L119213,L219215,-L119301,-L119300,-L219200};
 LL119104=newl;	Line Loop(LL119104) =	{L119215,L219225,-L119315,-L219215};
 LL119105=newl;	Line Loop(LL119105) =	{L119225,L119227,L119230,L219240,-L119339,-L119325,-L219225};
 //
-// South Web 
+// South Web
 LL120101=newl;	Line Loop(LL120101) =	{L120000,L220005,L120105,-L120200,-L220000};
 LL120102=newl;	Line Loop(LL120102) =	{L120035,L220040,-L120230,L120135,-L220035};
 LL120103=newl;	Line Loop(LL120103) =	{L120200,L120210,L120213,L220215,-L120301,-L120300,-L220200};
@@ -2236,7 +2215,7 @@ PS120104=news;	Plane Surface(PS120104) =	{LL120104};
 PS120105=news;	Plane Surface(PS120105) =	{LL120105};
 //
 //
-/********************************************************************* 
+/*********************************************************************
  *
  *  SOUTH ANCHORAGE WEBS
  *
@@ -2275,7 +2254,7 @@ p133315=newp;	Point(p133315) = {c133000[0],		c133300[1],		c133215[2],		lc101000V
 p133325=newp;	Point(p133325) = {c133000[0],		c133300[1],		c133225[2],		lc101000VFine};	c133325[]={Point{p133325}};
 p133339=newp;	Point(p133339) = {c133000[0],		c133300[1],		c136305[2]-.5,		lc101000VFine};	c133339[]={Point{p133339}};
 p133340=p136305;	c133340[]={Point{p133340}};
-// 
+//
 // South Anchorage South Web
 p134000=p122015;	c134000[]={Point{p134000}};
 p134005=newp;	Point(p134005) = {c134000[0],		c134000[1],		c134000[2]+5.5,		lc101000VFine};	c134005[]={Point{p134005}};
@@ -2319,21 +2298,21 @@ Rotate{{0.0,0.0,1}, {xCableS,yCableS,zCableS}, thetaS*Pi/180} {
 //
 // South Anchorage Webs
 Rotate{{0.0,0.0,1}, {xCableS,yCableS,zCableS}, thetaS*Pi/180} {
-  Point{p133005}; Point{p133035}; 
+  Point{p133005}; Point{p133035};
   Point{p133105}; Point{p133110}; Point{p133130}; Point{p133135};
-  Point{p133210}; Point{p133213}; Point{p133215}; Point{p133225}; Point{p133227}; Point{p133230}; 
-  Point{p133301}; Point{p133315}; Point{p133325}; Point{p133339}; 
+  Point{p133210}; Point{p133213}; Point{p133215}; Point{p133225}; Point{p133227}; Point{p133230};
+  Point{p133301}; Point{p133315}; Point{p133325}; Point{p133339};
   }
 Rotate{{0.0,0.0,1}, {xCableS,yCableS,zCableS}, thetaS*Pi/180} {
-  Point{p134005}; Point{p134035}; 
+  Point{p134005}; Point{p134035};
   Point{p134105}; Point{p134110}; Point{p134130}; Point{p134135};
-  Point{p134210}; Point{p134213}; Point{p134215}; Point{p134225}; Point{p134227}; Point{p134230}; 
-  Point{p134301}; Point{p134315}; Point{p134325}; Point{p134339}; 
+  Point{p134210}; Point{p134213}; Point{p134215}; Point{p134225}; Point{p134227}; Point{p134230};
+  Point{p134301}; Point{p134315}; Point{p134325}; Point{p134339};
   }
 //
 // _____
 // LINES
-// 
+//
 // North Web
 L133000=newl;	Line(L133000) = {p133000, p133005};
 L133035=newl;	Line(L133035) = {p133035, p133040};
@@ -2397,14 +2376,14 @@ L234260=L236377;
 // __________
 // LINE LOOPS
 //
-// North Web 
+// North Web
 LL133101=newl;	Line Loop(LL133101) =	{L133000,L233005,L133105,-L133200,-L233000};
 LL133102=newl;	Line Loop(LL133102) =	{L133035,L233040,L233140,-L133230,L133135,-L233035};
 LL133103=newl;	Line Loop(LL133103) =	{L133200,L133210,L133213,L233215,-L133301,-L133300,-L233200};
 LL133104=newl;	Line Loop(LL133104) =	{L133215,L233225,-L133315,-L233215};
 LL133105=newl;	Line Loop(LL133105) =	{L133225,L133227,L133230,L233240,L233250,-L133339,-L133325,-L233225};
 //
-// South Web 
+// South Web
 LL134101=newl;	Line Loop(LL134101) =	{L134000,L234005,L134105,-L134200,-L234000};
 LL134102=newl;	Line Loop(LL134102) =	{L134035,L234040,L234140,-L134230,L134135,-L234035};
 LL134103=newl;	Line Loop(LL134103) =	{L134200,L134210,L134213,L234215,-L134301,-L134300,-L234200};
@@ -2429,7 +2408,7 @@ PS134104=news;	Plane Surface(PS134104) =	{LL134104};
 PS134105=news;	Plane Surface(PS134105) =	{LL134105};
 //
 //
-/********************************************************************* 
+/*********************************************************************
  *
  *  NORTH ANCHORAGE FLANGES
  *
@@ -2498,7 +2477,7 @@ Rotate{{0.0,0.0,1}, {xCableN,yCableN,zCableN}, thetaN*Pi/180} {
 //
 // _____
 // LINES
-// 
+//
 // North Anchorage North Top Flange
 L123000=L119301;
 L123015=L119315;
@@ -2511,7 +2490,7 @@ L223000=newl;	Line(L223000) = {p123000, p123100};
 L223015=newl;	Line(L223015) = {p123015, p123115};
 L223025=newl;	Line(L223025) = {p123025, p123125};
 L223040=newl;	Line(L223040) = {p123040, p123140};
-// 
+//
 // North Anchorage North Bot Flange
 L124000=L119200;
 L124010=L119210;
@@ -2532,7 +2511,7 @@ L224015=newl;	Line(L224015) = {p124015, p124115};
 L224025=newl;	Line(L224025) = {p124025, p124125};
 L224027=newl;	Line(L224027) = {p124027, p124127};
 L224040=L135200;
-// 
+//
 // North Anchorage South Top Flange
 L125000=L120301;
 L125015=L120315;
@@ -2545,7 +2524,7 @@ L225000=newl;	Line(L225000) = {p125000, p125100};
 L225015=newl;	Line(L225015) = {p125015, p125115};
 L225025=newl;	Line(L225025) = {p125025, p125125};
 L225040=newl;	Line(L225040) = {p125040, p125140};
-// 
+//
 // North Anchorage South Bot Flange
 L126000=L120200;
 L126010=L120210;
@@ -2624,7 +2603,7 @@ PS126105=news;	Plane Surface(PS126105) =	{LL126105};
 //
 //
 //
-/********************************************************************* 
+/*********************************************************************
  *
  *  SOUTH ANCHORAGE FLANGES
  *
@@ -2693,7 +2672,7 @@ Rotate{{0.0,0.0,1}, {xCableS,yCableS,zCableS}, thetaS*Pi/180} {
 //
 // _____
 // LINES
-// 
+//
 // South Anchorage North Top Flange
 L137000=L133301;
 L137015=L133315;
@@ -2706,7 +2685,7 @@ L237000=newl;	Line(L237000) = {p137000, p137100};
 L237015=newl;	Line(L237015) = {p137015, p137115};
 L237025=newl;	Line(L237025) = {p137025, p137125};
 L237040=newl;	Line(L237040) = {p137040, p137140};
-// 
+//
 // South Anchorage North Bot Flange
 L138000=L133200;
 L138010=L133210;
@@ -2728,7 +2707,7 @@ L238025=newl;	Line(L238025) = {p138025, p138125};
 L238027=newl;	Line(L238027) = {p138027, p138127};
 L238040=L136200;
 L238045=L136375;
-// 
+//
 // South Anchorage South Top Flange
 L139000=L134301;
 L139015=L134315;
@@ -2741,7 +2720,7 @@ L239000=newl;	Line(L239000) = {p139000, p139100};
 L239015=newl;	Line(L239015) = {p139015, p139115};
 L239025=newl;	Line(L239025) = {p139025, p139125};
 L239040=newl;	Line(L239040) = {p139040, p139140};
-// 
+//
 // South Anchorage South Bot Flange
 L140000=L134200;
 L140010=L134210;
@@ -2818,7 +2797,7 @@ PS140104=news;	Plane Surface(PS140104) =	{LL140104};
 PS140105=news;	Plane Surface(PS140105) =	{LL140105};
 //
 //
-/********************************************************************* 
+/*********************************************************************
  *
  *  NORTH ANCHORAGE STIFFENERS
  *
@@ -2853,25 +2832,25 @@ p130425=p126125;	c130425[]={Point{p130425}};
 //
 // _____
 // LINES
-// 
+//
 // North Anchorage North-East Stiffener
 L127315=L223015;
 L127415=L224015;
 L227415=L219215;
 L227425=newl;	Line(L227425) = {p127425, p127325};
-// 
+//
 // North Anchorage North-West Stiffener
 L128315=L223025;
 L128415=L224025;
 L228415=L219225;
 L228425=newl;	Line(L228425) = {p128425, p128325};
-// 
+//
 // North Anchorage South-East Stiffener
 L129315=L225015;
 L129415=L226015;
 L229415=L220215;
 L229425=newl;	Line(L229425) = {p129425, p129325};
-// 
+//
 // North Anchorage South-West Stiffener
 L130315=L225025;
 L130415=L226025;
@@ -2882,7 +2861,7 @@ L230425=newl;	Line(L230425) = {p130425, p130325};
 // __________
 // LINE LOOPS
 //
-// 
+//
 LL127101=newl;	Line Loop(LL127101) =	{L127415,L227425,-L127315,-L227415};
 LL128101=newl;	Line Loop(LL128101) =	{L128415,L228425,-L128315,-L228415};
 LL129101=newl;	Line Loop(LL129101) =	{L129415,L229425,-L129315,-L229415};
@@ -2891,7 +2870,7 @@ LL130101=newl;	Line Loop(LL130101) =	{L130415,L230425,-L130315,-L230415};
 // ________
 // SURFACES
 //
-// 
+//
 PS127101=news;	Plane Surface(PS127101) =	{LL127101};
 PS128101=news;	Plane Surface(PS128101) =	{LL128101};
 PS129101=news;	Plane Surface(PS129101) =	{LL129101};
@@ -2899,7 +2878,7 @@ PS130101=news;	Plane Surface(PS130101) =	{LL130101};
 //
 //
 //
-/********************************************************************* 
+/*********************************************************************
  *
  *  SOUTH ANCHORAGE STIFFENERS
  *
@@ -2934,25 +2913,25 @@ p144425=p140125;	c144425[]={Point{p144425}};
 //
 // _____
 // LINES
-// 
+//
 // South Anchorage North-East Stiffener
 L141315=L237015;
 L141415=L238015;
 L241415=L233215;
 L241425=newl;	Line(L241425) = {p141425, p141325};
-// 
+//
 // South Anchorage North-West Stiffener
 L142315=L237025;
 L142415=L238025;
 L242415=L233225;
 L242425=newl;	Line(L242425) = {p142425, p142325};
-// 
+//
 // South Anchorage South-East Stiffener
 L143315=L239015;
 L143415=L240015;
 L243415=L234215;
 L243425=newl;	Line(L243425) = {p143425, p143325};
-// 
+//
 // South Anchorage South-West Stiffener
 L144315=L239025;
 L144415=L240025;
@@ -2963,7 +2942,7 @@ L244425=newl;	Line(L244425) = {p144425, p144325};
 // __________
 // LINE LOOPS
 //
-// 
+//
 LL141101=newl;	Line Loop(LL141101) =	{L141415,L241425,-L141315,-L241415};
 LL142101=newl;	Line Loop(LL142101) =	{L142415,L242425,-L142315,-L242415};
 LL143101=newl;	Line Loop(LL143101) =	{L143415,L243425,-L143315,-L243415};
@@ -2972,14 +2951,14 @@ LL144101=newl;	Line Loop(LL144101) =	{L144415,L244425,-L144315,-L244415};
 // ________
 // SURFACES
 //
-// 
+//
 PS141101=news;	Plane Surface(PS141101) =	{LL141101};
 PS142101=news;	Plane Surface(PS142101) =	{LL142101};
 PS143101=news;	Plane Surface(PS143101) =	{LL143101};
 PS144101=news;	Plane Surface(PS144101) =	{LL144101};
 //
 //
-/********************************************************************* 
+/*********************************************************************
  *
  *  PHYSICAL ENTITIES (ALSO MORE P.E.'S AT END)
  *
@@ -2988,125 +2967,125 @@ PS144101=news;	Plane Surface(PS144101) =	{LL144101};
 //
 // ____________
 // TIE WEB EAST
-TieWebE=500101;		Physical Surface(TieWebE) =	{ PS101001,PS101004 }; 
-TieWebEL=500102;	Physical Surface(TieWebEL) =	{ PS101002,PS101003 }; 
+TieWebE=500101;		Physical Surface(TieWebE) =	{ PS101001,PS101004 };
+TieWebEL=500102;	Physical Surface(TieWebEL) =	{ PS101002,PS101003 };
 AnchNepE=500103;	Physical Surface(AnchNepE) =	{ PS121001,PS121002,PS121003,PS121004,PS121005 };
 AnchSepE=500104;	Physical Surface(AnchSepE) =	{ PS122001,PS122002,PS122003,PS122004,PS122005 };
 //
 // ____________
 // TIE WEB WEST
-TieWebW=500105;		Physical Surface(TieWebW) =	{ PS102001,PS102004 }; 
-TieWebWL=500106;	Physical Surface(TieWebWL) =	{ PS102002,PS102003 }; 
+TieWebW=500105;		Physical Surface(TieWebW) =	{ PS102001,PS102004 };
+TieWebWL=500106;	Physical Surface(TieWebWL) =	{ PS102002,PS102003 };
 TieWebWG=500107;	Physical Surface(TieWebWG) =	{ PS102011,PS102012,PS102013,PS102014 };
 AnchNepW=500108;	Physical Surface(AnchNepW) =	{ PS135001,PS135002,PS135003,PS135004,PS135005 };
 AnchSepW=500109;	Physical Surface(AnchSepW) =	{ PS136004,PS136005,PS136011,PS136012,PS136013,PS136014 };
 AnchSepWG=500110;	Physical Surface(AnchSepWG) =	{ PS136001,PS136002,PS136003,PS136006,PS136008,PS136009,PS136010 };
 // ______________
 // TIE FLANGE TOP
-TieFlT=500111;		Physical Surface(TieFlT) =	{ PS103003,PS103006 }; 
-TieFlTL=500112;		Physical Surface(TieFlTL) =	{ PS103001,PS103002,PS103007,PS103010 }; 
-TieFlTR=500113;		Physical Surface(TieFlTR) =	{ PS103702,PS103703,PS103704,PS103705,PS103902,PS103903,PS103904,PS103905 }; 
-TieFlTLG=500114;	Physical Surface(TieFlTLG) =	{ PS103008,PS103009 }; 
-TieFlTG=500115;		Physical Surface(TieFlTG) =	{ PS103004,PS103005 }; 
+TieFlT=500111;		Physical Surface(TieFlT) =	{ PS103003,PS103006 };
+TieFlTL=500112;		Physical Surface(TieFlTL) =	{ PS103001,PS103002,PS103007,PS103010 };
+TieFlTR=500113;		Physical Surface(TieFlTR) =	{ PS103702,PS103703,PS103704,PS103705,PS103902,PS103903,PS103904,PS103905 };
+TieFlTLG=500114;	Physical Surface(TieFlTLG) =	{ PS103008,PS103009 };
+TieFlTG=500115;		Physical Surface(TieFlTG) =	{ PS103004,PS103005 };
 //
 // ______________
 // TIE FLANGE BOT
-TieFlB=500116;		Physical Surface(TieFlB) =	{ PS104003,PS104006 }; 
-TieFlBL=500117;		Physical Surface(TieFlBL) =	{ PS104001,PS104002,PS104007,PS104010 }; 
-TieFlBLG=500118;	Physical Surface(TieFlBLG) =	{ PS104008,PS104009 }; 
-TieFlBG=500119;		Physical Surface(TieFlBG) =	{ PS104004,PS104005 }; 
+TieFlB=500116;		Physical Surface(TieFlB) =	{ PS104003,PS104006 };
+TieFlBL=500117;		Physical Surface(TieFlBL) =	{ PS104001,PS104002,PS104007,PS104010 };
+TieFlBLG=500118;	Physical Surface(TieFlBLG) =	{ PS104008,PS104009 };
+TieFlBG=500119;		Physical Surface(TieFlBG) =	{ PS104004,PS104005 };
 //
 // ____________________
 // FLOORBEAM TOP FLANGE
-FbFlT=500201;		Physical Surface(FbFlT) =	{ PS106003,PS106004,PS106005,PS106006,PS106007,PS106008 }; 
-FbFlTG=500202;		Physical Surface(FbFlTG) =	{ PS106001,PS106002 }; 
-brg1=500203;		Physical Surface(brg1) =	{ PS106011,PS106012,PS106013,PS106014 }; 
-brg2=500204;		Physical Surface(brg2) =	{ PS106021,PS106022,PS106023,PS106024 }; 
+FbFlT=500201;		Physical Surface(FbFlT) =	{ PS106003,PS106004,PS106005,PS106006,PS106007,PS106008 };
+FbFlTG=500202;		Physical Surface(FbFlTG) =	{ PS106001,PS106002 };
+brg1=500203;		Physical Surface(brg1) =	{ PS106011,PS106012,PS106013,PS106014 };
+brg2=500204;		Physical Surface(brg2) =	{ PS106021,PS106022,PS106023,PS106024 };
 //
 // ____________________
 // FLOORBEAM BOT FLANGE
-FbFlB=500205;		Physical Surface(FbFlB) =	{ PS107003,PS107004,PS107005,PS107006,PS107007,PS107008 }; 
-FbFlBG=500206;		Physical Surface(FbFlBG) =	{ PS107001,PS107002 }; 
+FbFlB=500205;		Physical Surface(FbFlB) =	{ PS107003,PS107004,PS107005,PS107006,PS107007,PS107008 };
+FbFlBG=500206;		Physical Surface(FbFlBG) =	{ PS107001,PS107002 };
 //
 // _____________
 // FLOORBEAM WEB
-FbWeb=500207;		Physical Surface(FbWeb) =	{ PS105002,PS105003,PS105004 }; 
-FbWebL=500208;		Physical Surface(FbWebL) =	{ PS105001 }; 
-FbWebG=500209;		Physical Surface(FbWebG) =	{ PS105005,PS105006 }; 
+FbWeb=500207;		Physical Surface(FbWeb) =	{ PS105002,PS105003,PS105004 };
+FbWebL=500208;		Physical Surface(FbWebL) =	{ PS105001 };
+FbWebG=500209;		Physical Surface(FbWebG) =	{ PS105005,PS105006 };
 //
 // ____________________
 // FLOORBEAM STIFFENERS
-FbStif=500210;		Physical Surface(FbStif) =	{ PS111100,PS112100,PS113100,PS114100 }; 
+FbStif=500210;		Physical Surface(FbStif) =	{ PS111100,PS112100,PS113100,PS114100 };
 //
 // ________________________________
 // LOWER LATERAL BRACING BOT FLANGE
-LatFlT=500301;		Physical Surface(LatFlT) =	{ PS117100 }; 
+LatFlT=500301;		Physical Surface(LatFlT) =	{ PS117100 };
 //
 // ________________________________
 // LOWER LATERAL BRACING TOP FLANGE
-LatFlB=500302;		Physical Surface(LatFlB) =	{ PS118100 }; 
+LatFlB=500302;		Physical Surface(LatFlB) =	{ PS118100 };
 //
 // ______________________________
 // LOWER LATERAL BRACING EAST WEB
-LatWebE=500303;		Physical Surface(LatWebE) =	{ PS115100 }; 
+LatWebE=500303;		Physical Surface(LatWebE) =	{ PS115100 };
 //
 // ______________________________
 // LOWER LATERAL BRACING WEST WEB
-LatWebW=500304;		Physical Surface(LatWebW) =	{ PS116100 }; 
+LatWebW=500304;		Physical Surface(LatWebW) =	{ PS116100 };
 //
 // __________
 // GUSSET TOP
-GussT=500401;		Physical Surface(GussT) =	{ PS108100 }; 
+GussT=500401;		Physical Surface(GussT) =	{ PS108100 };
 //
 // __________
 // GUSSET BOT
-GussB=500402;		Physical Surface(GussB) =	{ PS109100 }; 
+GussB=500402;		Physical Surface(GussB) =	{ PS109100 };
 //
 // _____________
 // TIE DIAPHRAGM
-TieDiaph=500501;	Physical Surface(TieDiaph) =	{ PS110101 }; 
+TieDiaph=500501;	Physical Surface(TieDiaph) =	{ PS110101 };
 //
 // ____________________
 // NORTH ANCHORAGE WEBS
-AncNWebN=500601;	Physical Surface(AncNWebN) =	{ PS119101,PS119102,PS119103,PS119104,PS119105 }; 
-AncNWebS=500602;	Physical Surface(AncNWebS) =	{ PS120101,PS120102,PS120103,PS120104,PS120105 }; 
+AncNWebN=500601;	Physical Surface(AncNWebN) =	{ PS119101,PS119102,PS119103,PS119104,PS119105 };
+AncNWebS=500602;	Physical Surface(AncNWebS) =	{ PS120101,PS120102,PS120103,PS120104,PS120105 };
 //
 // ____________________
 // SOUTH ANCHORAGE WEBS
-AncSWebN=500603;	Physical Surface(AncSWebN) =	{ PS133101,PS133102,PS133103,PS133104,PS133105 }; 
-AncSWebS=500604;	Physical Surface(AncSWebS) =	{ PS134101,PS134102,PS134103,PS134104,PS134105 }; 
+AncSWebN=500603;	Physical Surface(AncSWebN) =	{ PS133101,PS133102,PS133103,PS133104,PS133105 };
+AncSWebS=500604;	Physical Surface(AncSWebS) =	{ PS134101,PS134102,PS134103,PS134104,PS134105 };
 //
 // _______________________
 // NORTH ANCHORAGE FLANGES
-AncNFlTN=500605;	Physical Surface(AncNFlTN) =	{ PS123101,PS123102,PS123103 }; 
-AncNFlBN=500606;	Physical Surface(AncNFlBN) =	{ PS124101,PS124105 }; 
-AncNFlTS=500607;	Physical Surface(AncNFlTS) =	{ PS125101,PS125102,PS125103 }; 
-AncNFlBS=500608;	Physical Surface(AncNFlBS) =	{ PS126101,PS126105 }; 
+AncNFlTN=500605;	Physical Surface(AncNFlTN) =	{ PS123101,PS123102,PS123103 };
+AncNFlBN=500606;	Physical Surface(AncNFlBN) =	{ PS124101,PS124105 };
+AncNFlTS=500607;	Physical Surface(AncNFlTS) =	{ PS125101,PS125102,PS125103 };
+AncNFlBS=500608;	Physical Surface(AncNFlBS) =	{ PS126101,PS126105 };
 //
 // _______________________
 // SOUTH ANCHORAGE FLANGES
-AncSFlTN=500609;	Physical Surface(AncSFlTN) =	{ PS137101,PS137102,PS137103 }; 
-AncSFlBN=500610;	Physical Surface(AncSFlBN) =	{ PS138101,PS138105 }; 
-AncSFlTS=500611;	Physical Surface(AncSFlTS) =	{ PS139101,PS139102,PS139103 }; 
-AncSFlBS=500612;	Physical Surface(AncSFlBS) =	{ PS140101,PS140105 }; 
+AncSFlTN=500609;	Physical Surface(AncSFlTN) =	{ PS137101,PS137102,PS137103 };
+AncSFlBN=500610;	Physical Surface(AncSFlBN) =	{ PS138101,PS138105 };
+AncSFlTS=500611;	Physical Surface(AncSFlTS) =	{ PS139101,PS139102,PS139103 };
+AncSFlBS=500612;	Physical Surface(AncSFlBS) =	{ PS140101,PS140105 };
 //
 // __________________________
 // NORTH ANCHORAGE STIFFENERS
-AncNStNE=500613;	Physical Surface(AncNStNE) =	{ PS127101 }; 
-AncNStNW=500614;	Physical Surface(AncNStNW) =	{ PS128101 }; 
-AncNStSE=500615;	Physical Surface(AncNStSE) =	{ PS129101 }; 
-AncNStSW=500616;	Physical Surface(AncNStSW) =	{ PS130101 }; 
+AncNStNE=500613;	Physical Surface(AncNStNE) =	{ PS127101 };
+AncNStNW=500614;	Physical Surface(AncNStNW) =	{ PS128101 };
+AncNStSE=500615;	Physical Surface(AncNStSE) =	{ PS129101 };
+AncNStSW=500616;	Physical Surface(AncNStSW) =	{ PS130101 };
 //
 // __________________________
 // SOUTH ANCHORAGE STIFFENERS
-AncSStNE=500617;	Physical Surface(AncSStNE) =	{ PS141101 }; 
-AncSStNW=500618;	Physical Surface(AncSStNW) =	{ PS142101 }; 
-AncSStSE=500619;	Physical Surface(AncSStSE) =	{ PS143101 }; 
-AncSStSW=500620;	Physical Surface(AncSStSW) =	{ PS144101 }; 
+AncSStNE=500617;	Physical Surface(AncSStNE) =	{ PS141101 };
+AncSStNW=500618;	Physical Surface(AncSStNW) =	{ PS142101 };
+AncSStSE=500619;	Physical Surface(AncSStSE) =	{ PS143101 };
+AncSStSW=500620;	Physical Surface(AncSStSW) =	{ PS144101 };
 //
 //
 //
-/********************************************************************* 
+/*********************************************************************
  *
  *  STRUDL MODEL ATTACHMENTS
  *
@@ -3166,26 +3145,26 @@ RigLLBS=501102;	Physical Line(RigLLBS) = {	L117110,L118110,L215110,L216110 };
 //
 // ______________
 // SUPPORT POINTS
-PtSpTN=501201;		Physical Point(PtSpTN) =	{ p201001 }; 
-PtSpTS=501202;		Physical Point(PtSpTS) =	{ p202001 }; 
-PtSpFBW=501203;		Physical Point(PtSpFBW) =	{ p203001 }; 
-PtSpLLBS=501204;	Physical Point(PtSpLLBS) =	{ p205001 }; 
+PtSpTN=501201;		Physical Point(PtSpTN) =	{ p201001 };
+PtSpTS=501202;		Physical Point(PtSpTS) =	{ p202001 };
+PtSpFBW=501203;		Physical Point(PtSpFBW) =	{ p203001 };
+PtSpLLBS=501204;	Physical Point(PtSpLLBS) =	{ p205001 };
 //
-PtMTN=501301;		Physical Point(PtMTN) =		{ p201000 }; 
-PtMTS=501302;		Physical Point(PtMTS) =		{ p202000 }; 
-PtMFBW=501303;		Physical Point(PtMFBW) =	{ p203000 }; 
-PtMLLBS=501304;		Physical Point(PtMLLBS) =	{ p205000 }; 
+PtMTN=501301;		Physical Point(PtMTN) =		{ p201000 };
+PtMTS=501302;		Physical Point(PtMTS) =		{ p202000 };
+PtMFBW=501303;		Physical Point(PtMFBW) =	{ p203000 };
+PtMLLBS=501304;		Physical Point(PtMLLBS) =	{ p205000 };
 //
 // ________
 // Bearings
-RigBrg1=501401;		Physical Line(RigBrg1) =		{ L106251,L106252,L206253,L206325,-L106352,-L106351,-L206315,-L206251 }; 
-PtBrg1=501402;		Physical Point(PtBrg1) =		{ p106320 }; 
-RigBrg2=501403;		Physical Line(RigBrg2) =		{ L106361,L106362,L206363,L206425,-L106452,-L106451,-L206415,-L206361 }; 
-PtBrg2=501404;		Physical Point(PtBrg2) =		{ p106420 }; 
+RigBrg1=501401;		Physical Line(RigBrg1) =		{ L106251,L106252,L206253,L206325,-L106352,-L106351,-L206315,-L206251 };
+PtBrg1=501402;		Physical Point(PtBrg1) =		{ p106320 };
+RigBrg2=501403;		Physical Line(RigBrg2) =		{ L106361,L106362,L206363,L206425,-L106452,-L106451,-L206415,-L206361 };
+PtBrg2=501404;		Physical Point(PtBrg2) =		{ p106420 };
 //
 //
 //
-/********************************************************************* 
+/*********************************************************************
  *
  *  MORE PHYSICAL ENTITIES
  *
@@ -3195,24 +3174,24 @@ PtBrg2=501404;		Physical Point(PtBrg2) =		{ p106420 };
 // _________________
 // GUIDE PIPES NORTH
 GuidePipeN=501501;		Physical Surface(GuidePipeN) =		{ PSpipe103601,PSpipe103602,PSpipe103603,PSpipe103604,
-									  PSpipe103661,PSpipe103662,PSpipe103663,PSpipe103664 }; 
-RigidGuidePipeN=501502;		Physical Line(RigidGuidePipeN) =	{ L103791,L103792,L103793,L103794 }; 
-PtLoadGuidePipeN=501503;	Physical Point(PtLoadGuidePipeN) =	{ p103790 }; 
-PtMstrGuidePipeN=501504;	Physical Point(PtMstrGuidePipeN) =	{ p103780 }; 
-MbGuidePipeN=501505;		Physical Line(MbGuidePipeN) =		{ L103671 }; 
-GuidePipeFinsN=501506;		Physical Surface(GuidePipeFinsN) =	{ PS103751,PS103752,PS103753,PS103754 }; 
+									  PSpipe103661,PSpipe103662,PSpipe103663,PSpipe103664 };
+RigidGuidePipeN=501502;		Physical Line(RigidGuidePipeN) =	{ L103791,L103792,L103793,L103794 };
+PtLoadGuidePipeN=501503;	Physical Point(PtLoadGuidePipeN) =	{ p103790 };
+PtMstrGuidePipeN=501504;	Physical Point(PtMstrGuidePipeN) =	{ p103780 };
+MbGuidePipeN=501505;		Physical Line(MbGuidePipeN) =		{ L103671 };
+GuidePipeFinsN=501506;		Physical Surface(GuidePipeFinsN) =	{ PS103751,PS103752,PS103753,PS103754 };
 //
 // _________________
 // GUIDE PIPES SOUTH
 GuidePipeS=501601;		Physical Surface(GuidePipeS) =		{ PSpipe103801,PSpipe103802,PSpipe103803,PSpipe103804,
-									  PSpipe103861,PSpipe103862,PSpipe103863,PSpipe103864 }; 
-RigidGuidePipeS=501602;		Physical Line(RigidGuidePipeS) =	{ L103991,L103992,L103993,L103994 }; 
-PtLoadGuidePipeS=501603;	Physical Point(PtLoadGuidePipeS) =	{ p103990 }; 
-PtMstrGuidePipeS=501604;	Physical Point(PtMstrGuidePipeS) =	{ p103980 }; 
-MbGuidePipeS=501605;		Physical Line(MbGuidePipeS) =		{ L103871 }; 
-GuidePipeFinsS=501606;		Physical Surface(GuidePipeFinsS) =	{ PS103951,PS103952,PS103953,PS103954 }; 
+									  PSpipe103861,PSpipe103862,PSpipe103863,PSpipe103864 };
+RigidGuidePipeS=501602;		Physical Line(RigidGuidePipeS) =	{ L103991,L103992,L103993,L103994 };
+PtLoadGuidePipeS=501603;	Physical Point(PtLoadGuidePipeS) =	{ p103990 };
+PtMstrGuidePipeS=501604;	Physical Point(PtMstrGuidePipeS) =	{ p103980 };
+MbGuidePipeS=501605;		Physical Line(MbGuidePipeS) =		{ L103871 };
+GuidePipeFinsS=501606;		Physical Surface(GuidePipeFinsS) =	{ PS103951,PS103952,PS103953,PS103954 };
 //
 // _____________________
 // ANCHOR BEARING PLATES
-RigidAnchorN=501701;		Physical Surface(RigidAnchorN) =	{ PS124102,PS124103,PS124104,PS126102,PS126103,PS126104 }; 
-RigidAnchorS=501801;		Physical Surface(RigidAnchorS) =	{ PS138102,PS138103,PS138104,PS140102,PS140103,PS140104 }; 
+RigidAnchorN=501701;		Physical Surface(RigidAnchorN) =	{ PS124102,PS124103,PS124104,PS126102,PS126103,PS126104 };
+RigidAnchorS=501801;		Physical Surface(RigidAnchorS) =	{ PS138102,PS138103,PS138104,PS140102,PS140103,PS140104 };
diff --git a/benchmarks/2d/elliptic.geo b/benchmarks/2d/elliptic.geo
index bd84791e09fa670aee77cc555682a7f83b17ab69..51c030e44c992a3b137395028e3b3c57962574d9 100644
--- a/benchmarks/2d/elliptic.geo
+++ b/benchmarks/2d/elliptic.geo
@@ -27,6 +27,6 @@ Transfinite Line{9,11} = 30 Using Progression 1.;
 Transfinite Surface{7} = {6,10,14,5};
 Recombine Surface{7};
 
-Extrude Surface {7, {0.0,0.0,0.1}}{Layers{10};Recombine;};
+Extrude {0.0,0.0,0.1}{ Surface {7}; Layers{10};Recombine; }
 
 Mesh.Smoothing  = 30;
diff --git a/benchmarks/2d/mean.geo b/benchmarks/2d/mean.geo
index 33d2532880b1d5922d6cd6269ebcd7ea53035a4e..320974b805d600304c5cedd7cf0550ac0ba84bd5 100644
--- a/benchmarks/2d/mean.geo
+++ b/benchmarks/2d/mean.geo
@@ -1,14 +1,14 @@
 lambda = 0.1 ;
 larg = 0.05 ;
 long = 0.5 ;
-nbr_pas = 12 ; 
+nbr_pas = 12 ;
 nbr_pas_tot = long/lambda*nbr_pas ;
 ampl = 0.01 ;
 lc1 = 0.005 ;
-For tt In {0:nbr_pas_tot} 
+For tt In {0:nbr_pas_tot}
   Point(1000+tt) = { tt*lambda/nbr_pas , 0. , ampl*Sin(2*Pi*tt/nbr_pas) , lc1 } ;
   tab_pt_1[tt] = 1000 + tt ;
-  EndFor 
+  EndFor
 Spline(1000) = tab_pt_1[];
-Extrude Line {1000 , { 0., larg , 0. } } ; 
+Extrude { 0., larg , 0. } { Line {1000}; }
 Translate {0,0.15,0} { Duplicata { Surface{1004} ; } }
diff --git a/benchmarks/2d/projection.geo b/benchmarks/2d/projection.geo
index c61447f6407f641468d43e4550165df9013a97bb..931576198dd7bbc9dcd366b1e36aa42d21071aa6 100644
--- a/benchmarks/2d/projection.geo
+++ b/benchmarks/2d/projection.geo
@@ -2,9 +2,9 @@
 Point(1) = {0,0,0,1};
 Point(2) = {0,10,0,1};
 Line(1) = {2,1};
-Extrude Line {1, {50.0,0.0,0.0}, {1,0,0}, {0,5,0}, 2*Pi}{Recombine;Layers{50};};
+Extrude { {50.0,0.0,0.0}, {1,0,0}, {0,5,0}, 2*Pi}{ Line {1}; Recombine;Layers{50};}
 //
 Point(1000) = {0,0,20,1};
 Point(2000) = {0,10,20,1};
 Line(1000) = {2000,1000};
-Extrude Line {1000, {50.0,0.0,0.0}, {1,0,0}, {0,5,20}, 2*Pi};
+Extrude { {50.0,0.0,0.0}, {1,0,0}, {0,5,20}, 2*Pi} { Line {1000}; }
diff --git a/benchmarks/2d/tresse2.geo b/benchmarks/2d/tresse2.geo
index 88949293cde0067851e13999422a1e1317482606..c4133e1e58b5f4b5d39f98195555c379a5ec0076 100644
--- a/benchmarks/2d/tresse2.geo
+++ b/benchmarks/2d/tresse2.geo
@@ -1,29 +1,29 @@
-rayon = 0.008 ; 
+rayon = 0.008 ;
 haut  = 0.024 ;           // hauteur du cylindre
 psi   = 40. * Pi / 180 ;  // angle de tressage par rapport a l'axe vertical z du cable
-nn    = 24 ;              // nbre de meplats (qui vont dans le meme sens) 
+nn    = 24 ;              // nbre de meplats (qui vont dans le meme sens)
 nw    = 6 ;               // nombre de fils dans un meplat
 dw    = 0.0002 ;          // diametre des fils
 ampl  = 0.0004 ;          // amplitude du Cosinus
 v     = 1 ;               // je le pose arbitrairement
 omega = 1 / ( rayon * Tan(Pi/2-psi) ) ; Printf("omega = %g" , omega ) ;
-tmax = haut ; 
+tmax = haut ;
 nbr_pas_tot = 50 ;
 dt = tmax / nbr_pas_tot ;
 omdeph = nn * omega / 2;  // vitesse angulaire pour dephasage de Pi entre 2 meplats
-angm = dw/rayon/Cos(psi) ; 
+angm = dw/rayon/Cos(psi) ;
 
 Geometry.AutoCoherence = 0;
 
 lc1 = 0.0011 ;
 
-For jj In {1:nn} 
+For jj In {1:nn}
 
-   For ii In {0:nbr_pas_tot} 
+   For ii In {0:nbr_pas_tot}
 
       t = ii * dt ;
-      rf = rayon ; 
-      thetaf =  -nw*angm/2 + (jj-1)*2*Pi/nn + omega * t ; 
+      rf = rayon ;
+      thetaf =  -nw*angm/2 + (jj-1)*2*Pi/nn + omega * t ;
       zf = v * t ;
       aa = ampl * Cos( Pi/4 + (jj-1)*Pi + omdeph * t );
       xf = (rf+aa) * Cos(thetaf) ; yf = (rf+aa) * Sin(thetaf) ;
@@ -31,7 +31,7 @@ For jj In {1:nn}
       Point(num) = { xf , yf , zf , lc1 } ;
       tab1[ii] = num ;
 
-      thetaf =  -nw*angm/2 + (jj-1)*2*Pi/nn - omega * t ; 
+      thetaf =  -nw*angm/2 + (jj-1)*2*Pi/nn - omega * t ;
       aa = ampl * Cos( 3*Pi/4 + (jj-1)*Pi + omdeph * t );
       xf = (rf+aa) * Cos(thetaf) ; yf = (rf+aa) * Sin(thetaf) ;
       num = (2*jj)*10000+ii;
@@ -42,12 +42,12 @@ For jj In {1:nn}
 
    num = (2*jj-1)*10000+ii;
    Spline(num) = tab1[];
-   Extrude Line { num , {0,0,1}, {0,0,0}, nw*angm }{Layers{5};Recombine;} ;
+   Extrude { {0,0,1}, {0,0,0}, nw*angm }{ Line {num}; Layers{5};Recombine; }
 
    num = (2*jj)*10000+ii;
    Spline(num) = tab2[];
-   Extrude Line { num , {0,0,1}, {0,0,0}, nw*angm }{Layers{5};Recombine;} ;
+   Extrude { {0,0,1}, {0,0,0}, nw*angm }{ Line {num}; Layers{5};Recombine; }
 
-EndFor      
+EndFor
 
 Coherence;
diff --git a/benchmarks/2d/tresse3.geo b/benchmarks/2d/tresse3.geo
index ae326e6a6602e1b1ba355fa54cba96875cfcad49..4d9ae039d344756712b36c2cf2f7fa5aed5db78a 100644
--- a/benchmarks/2d/tresse3.geo
+++ b/benchmarks/2d/tresse3.geo
@@ -1,66 +1,62 @@
-rayon = 0.004 ; 
+rayon = 0.004 ;
 haut  = 0.012 ;           // hauteur du cylindre
 psi   = 40. * Pi / 180 ;  // angle de tressage par rapport a l'axe vertical z du cable
-nn    = 24 ;              // nbre de meplats (qui vont dans le meme sens) 
+nn    = 24 ;              // nbre de meplats (qui vont dans le meme sens)
 nw    = 5;               // nombre de fils dans un meplat
 dw    = 0.0002 ;          // diametre des fils
 ampl  = 0.0003 ;          // amplitude du Cosinus
 v     = 1 ;               // je le pose arbitrairement
 omega = 1 / ( rayon * Tan(Pi/2-psi) ) ; Printf("omega = %g" , omega ) ;
-tmax = haut ; 
+tmax = haut ;
 nbr_pas_tot = 30 ;
 dt = tmax / nbr_pas_tot ;
 omdeph = nn * omega / 2;  // vitesse angulaire pour dephasage de Pi entre 2 meplats
-angm = dw/rayon/Cos(psi) ; 
+angm = dw/rayon/Cos(psi) ;
 
 Geometry.AutoCoherence = 0;
 
 lc1 = 0.0008 ;
 
-For jj In {1:nn} 
+For jj In {1:nn}
 
-   For ii In {0:nbr_pas_tot} 
+   For ii In {0:nbr_pas_tot}
 
       t = ii * dt ;
-      rf = rayon ; 
-      thetaf =  -nw*angm/2 + (jj-1)*2*Pi/nn + omega * t ; 
+      rf = rayon ;
+      thetaf =  -nw*angm/2 + (jj-1)*2*Pi/nn + omega * t ;
       zf = v * t ;
       aa = ampl * Cos( Pi/4 + (jj-1)*Pi + omdeph * t );
       xf = (rf+aa) * Cos(thetaf) ; yf = (rf+aa) * Sin(thetaf) ;
       Point((2*jj-1)*1000+ii) = { xf , yf , zf , lc1 } ;
       tab1[ii] = (2*jj-1)*1000+ii ;
 
-      thetaf =  -nw*angm/2 + (jj-1)*2*Pi/nn - omega * t ; 
+      thetaf =  -nw*angm/2 + (jj-1)*2*Pi/nn - omega * t ;
       aa = ampl * Cos( 3*Pi/4 + (jj-1)*Pi + omdeph * t );
       xf = (rf+aa) * Cos(thetaf) ; yf = (rf+aa) * Sin(thetaf) ;
       Point((2*jj)*1000+ii) = { xf , yf , zf , lc1 } ;
       tab2[ii] = (2*jj)*1000+ii ;
 
       EndFor
-     
+
       Spline((2*jj-1)*1000+ii) = tab1[];
-//    Extrude Line { ((2*jj-1)*1000+ii) , {0,0,1}, {0,0,0}, nw*angm } ;
       For kk In {1:nw-1}
          Rotate { {0,0,1}, {0,0,0}, kk*angm}  { Duplicata { Line{(2*jj-1)*1000+ii} ; } }
          EndFor
 
       Spline((2*jj)*1000+ii) = tab2[];
-//    Extrude Line { ((2*jj)*1000+ii) , {0,0,1}, {0,0,0}, nw*angm } ;
       For kk In {1:nw-1}
          Rotate { {0,0,1}, {0,0,0}, kk*angm}  { Duplicata { Line{(2*jj)*1000+ii} ; } }
          EndFor
 
-   EndFor      
-
-//BoundingBox;
+   EndFor
 
 //FIXME: this is buggy -- investigate
 //Coherence;
 
-b = rayon ; 
-L = 2*nn ;    
-N = nw ;       
-d = dw ;  
+b = rayon ;
+L = 2*nn ;
+N = nw ;
+d = dw ;
 ld = 4*Pi*b/L-N*d/Cos(psi) ;// small axis of the diamond shaped aperture (horizontal)
 Ld = ld/Tan(psi) ;          // Big axis of the diamond shaped aperture (vertical=z)
 P = 4*Pi*b/L/Tan(psi);      // Periode du tressage selon axe z vertical du cable
diff --git a/benchmarks/2d/xytouv.geo b/benchmarks/2d/xytouv.geo
index 73873eea5d941a6a8b0eaeef5b22e5dd4f8a3e23..bab38cd7ff8b64c0ac5a89acace23616f676b538 100644
--- a/benchmarks/2d/xytouv.geo
+++ b/benchmarks/2d/xytouv.geo
@@ -3,4 +3,4 @@ Point(1)={0,0,0,lc};
 Point(2)={1,0,0,lc};
 Point(3)={0,1,0,lc};
 Circle(1) = {2,1,3};
-Extrude Line {1, {0,1,0}, {-5,0,0}, -Pi/2};
+Extrude { {0,1,0}, {-5,0,0}, -Pi/2} { Line {1}; }
diff --git a/benchmarks/3d/CoilAboveACrack.geo b/benchmarks/3d/CoilAboveACrack.geo
index 6b29b9844add60529fe8f03042c98968bf700232..e4c2b995ddeb2bfe07d40f31baeaeb07cfb32ebf 100644
--- a/benchmarks/3d/CoilAboveACrack.geo
+++ b/benchmarks/3d/CoilAboveACrack.geo
@@ -143,15 +143,15 @@ Plane Surface(302) = {301};
 
 
 
-volCORE[] = Extrude Surface {302, {0,0,zCoil-zCore}};;
-volCORE0_1[] = Extrude Surface {324, {0,0,dzCoil}};;
-volCORE0_2[] = Extrude Surface {346, {0,0,dzCore-dzCoil-(zCoil-zCore)}};;
+volCORE[] = Extrude {0,0,zCoil-zCore}{ Surface {302}; };
+volCORE0_1[] = Extrude {0,0,dzCoil}{ Surface {324}; };
+volCORE0_2[] = Extrude {0,0,dzCore-dzCoil-(zCoil-zCore)}{ Surface {346}; };
 
 Line Loop(369) = {18,19,20,21};
 Line Loop(370) = {306,307,304,305};
 Plane Surface(371) = {369,370};
 
-volCOIL[] = Extrude Surface {371, {0,0,dzCoil}};;
+volCOIL[] = Extrude {0,0,dzCoil}{ Surface {371}; };
 
 
 Line Loop(414) = {43,-54,-34,-33,52};
@@ -187,14 +187,10 @@ Surface(439) = {438,430};
 Line Loop(440) = {2,3,4,1};
 Plane Surface(441) = {440};
 
-volAIR[] = Extrude Surface {441, {0,0,zBox1}};;
+volAIR[] = Extrude {0,0,zBox1}{ Surface {441}; };
 Delete { Volume{volAIR[1]}; }
 
 Characteristic Length {101, 108, 103, 113} = pCore*1;
-/*
-Surface Loop(466) = {337,371,384,388,392,396,413,341,345,333};
-Volume(467) = {466}; // Coil
-*/
 Surface Loop(468) = {427,439,415,421,417,425,423,419,429,435,433,437};
 Volume(469) = {468}; // Plate
 
@@ -205,34 +201,18 @@ Surface Loop(472) = {441,450,454,458,462,463};
 Surface Loop(473) = {431,439,415,421,417,425,423,419};
 Surface Loop(474) = {323,302,311,315,319,371,384,388,392,396,413,363,367,355,359,368};
 Volume(475) = {472,473,474};
-/*
-Surface Loop(464) = {324,333,337,341,345,367,355,359,363,368};
-Volume(465) = {464}; // Core0
-Surface Loop(476) = {324,311,302,315,319,323};
-Volume(477) = {476}; // Core
-*/
 
 // Physical regions
 
 Physical Volume(CORE0) = {volCORE0_1[1], volCORE0_2[1]};
-
 Physical Volume(CORE) = {volCORE[1]};
-
 Physical Volume(COIL) = {volCOIL[1]};
-
 Physical Volume(PLATE) = {469};
-
 Physical Volume(CRACK) = {471};
-
 Physical Volume(AIR) = {475};
-
 Physical Surface(SKINCORE) = {359,337,315,302,311,333,355,368,363,341,319,323,345,367};
-
 Physical Surface(SKINCOIL) = {337,371,384,388,392,396,413,341,345,333};
 Physical Surface(SKINCOIL2) = {333, 337, 341, 345};
-
 Physical Surface(CUTCOIL) = {324};
-
 Physical Surface(SKINPLATE) = {427,439,415,421,417,425,423,419,429,435,433,437};
-
 Physical Surface(SURFACEGH0) = {441,450,454,458,462,463};
diff --git a/benchmarks/3d/Cube-01.geo b/benchmarks/3d/Cube-01.geo
index da9b61afa8d129bde24bd6457ad3ed844693f0b5..94833d5b18f23502785c8fe82e0ecd1d95c6f3a8 100644
--- a/benchmarks/3d/Cube-01.geo
+++ b/benchmarks/3d/Cube-01.geo
@@ -6,16 +6,16 @@ Mesh.Smoothing=1;
 //Mesh.Voronoi=1;
 
 lc = 0.1;
-Point(1) = {0.0,0.0,0.0,lc/10};         
-Point(2) = {1,0.0,0.0,lc/1};         
-Point(3) = {1,1,0.0,lc};         
-Point(4) = {0,1,0.0,lc};         
-Line(1) = {4,3};         
-Line(2) = {3,2};         
-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} };         
+Point(1) = {0.0,0.0,0.0,lc/10};
+Point(2) = {1,0.0,0.0,lc/1};
+Point(3) = {1,1,0.0,lc};
+Point(4) = {0,1,0.0,lc};
+Line(1) = {4,3};
+Line(2) = {3,2};
+Line(3) = {2,1};
+Line(4) = {1,4};
+Line Loop(5) = {2,3,4,1};
+Plane Surface(6) = {5};
+Extrude {0,0.0,1} { Surface {6}; }
 //Characteristic Length {10} = lc/100;
 //Physical Point(1)={1 };
diff --git a/benchmarks/3d/Cube-02.geo b/benchmarks/3d/Cube-02.geo
index fcf73505e41d90ee9e66caabc180ccfcb43cd9de..cf8477eb2711d4a901958b2aef511ff7c7137c32 100644
--- a/benchmarks/3d/Cube-02.geo
+++ b/benchmarks/3d/Cube-02.geo
@@ -19,4 +19,4 @@ 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}; }
diff --git a/benchmarks/3d/Cube-03.geo b/benchmarks/3d/Cube-03.geo
index 7e6ba074581f4ae7fb4e99bb6236036f779ec7cd..41c1bb6120bedf63eece260266b31e71a65452c7 100644
--- a/benchmarks/3d/Cube-03.geo
+++ b/benchmarks/3d/Cube-03.geo
@@ -1,10 +1,9 @@
-/*****************************  
+/*****************************
 Another Way to generate
-a cube  
-*****************************/  
-Point(1) = {0.0,0.0,0.0,.2};          
-Extrude Point {1, {1,0.0,0} };               
-Extrude Line {1, {0.0,0.0,1} };
-Extrude Surface {5, {0,1,0} };
-//+
+a cube
+*****************************/
+Point(1) = {0.0,0.0,0.0,.2};
+Extrude {1,0.0,0} { Point{1}; }
+Extrude {0.0,0.0,1} { Line{1}; }
+Extrude {0,1,0} { Surface{5}; }
 Physical Volume(28) = {1};
diff --git a/benchmarks/3d/Cube-04.geo b/benchmarks/3d/Cube-04.geo
index 47cc1819d9dbeb57935b629781f42467202c1208..ee0552bf7865a6fdbca5089fe3e59022c242c512 100644
--- a/benchmarks/3d/Cube-04.geo
+++ b/benchmarks/3d/Cube-04.geo
@@ -1,22 +1,21 @@
-/*****************************      
-A cube with a hole   
-*****************************/      
-  
-Point(1) = {0.0,0.0,0.0,.1};              
-Extrude Point {1, {1,0.0,0} };                   
-Extrude Line {1, {0.0,0.0,1} };    
-aa[] = Extrude Surface {5, {0,1,0} };;
-  
-Point(100) = {0.3,0.3,0.3,.1};              
-Extrude Point {100, {.4,0.0,0} };                   
-Extrude Line {28, {0,0.4,0} };   
-Coherence;   
-bb[] = Extrude Surface {32, {0,0.,0.4} };;
-Coherence;   
+/*****************************
+A cube with a hole
+*****************************/
+
+Point(1) = {0.0,0.0,0.0,.1};
+Extrude {1,0.0,0} { Point{1}; }
+Extrude {0.0,0.0,1} { Line{1}; }
+aa[] = Extrude {0,1,0} { Surface{5}; };
+
+Point(100) = {0.3,0.3,0.3,.1};
+Extrude {.4,0.0,0} { Point{100}; }
+Extrude {0,0.4,0} { Line {28}; }
+Coherence;
+bb[] = Extrude {0,0.,0.4} { Surface {32}; };
+Coherence;
 
 Delete { Volume{aa[1],bb[1]}; }
 
-Surface Loop(55) = {26,5,14,18,22,27};   
-Surface Loop(56) = {41,32,45,49,53,54};   
-Volume(57) = {55,56};   
-  
+Surface Loop(55) = {26,5,14,18,22,27};
+Surface Loop(56) = {41,32,45,49,53,54};
+Volume(57) = {55,56};
diff --git a/benchmarks/3d/Cube-05.geo b/benchmarks/3d/Cube-05.geo
index 84a1868e85508f1c34ab0ff2b968beaa95ea03b5..12e4015f450909bc919860a9191fd9346cc00ce0 100644
--- a/benchmarks/3d/Cube-05.geo
+++ b/benchmarks/3d/Cube-05.geo
@@ -1,24 +1,24 @@
-lv = .1;    
-lc = .1;       
-Point(1) = {0.0,0.0,0.0,lv};               
-Point(2) = {1,0.0,0.0,lv};               
-Point(3) = {1,1,0.0,lv};               
-Point(4) = {0,1,0.0,lv};               
-Line(1) = {4,3};               
-Line(2) = {3,2};               
-Line(3) = {2,1};               
-Line(4) = {1,4};               
-Point(11) = {0.5,0.5,0.0,lc};               
-Point(12) = {0.5,0.7,0.0,lc};               
-Point(13) = {0.5,0.3,0.0,lc};               
-Point(14) = {0.3,0.5,0.0,lc};               
-Point(15) = {0.7,0.5,0.0,lc};               
-Circle(5) = {15,11,12};     
-Circle(6) = {12,11,14};     
-Circle(7) = {14,11,13};     
-Circle(8) = {13,11,15};     
-Line Loop(9) = {1,2,3,4};     
-Line Loop(10) = {7,8,5,6};     
-Plane Surface(11) = {9,10};     
-   
-Extrude Surface{11, {0.0,1,0}, {-.5,0.0,0.0}, 3.14159/4 } ;   
+lv = .1;
+lc = .1;
+Point(1) = {0.0,0.0,0.0,lv};
+Point(2) = {1,0.0,0.0,lv};
+Point(3) = {1,1,0.0,lv};
+Point(4) = {0,1,0.0,lv};
+Line(1) = {4,3};
+Line(2) = {3,2};
+Line(3) = {2,1};
+Line(4) = {1,4};
+Point(11) = {0.5,0.5,0.0,lc};
+Point(12) = {0.5,0.7,0.0,lc};
+Point(13) = {0.5,0.3,0.0,lc};
+Point(14) = {0.3,0.5,0.0,lc};
+Point(15) = {0.7,0.5,0.0,lc};
+Circle(5) = {15,11,12};
+Circle(6) = {12,11,14};
+Circle(7) = {14,11,13};
+Circle(8) = {13,11,15};
+Line Loop(9) = {1,2,3,4};
+Line Loop(10) = {7,8,5,6};
+Plane Surface(11) = {9,10};
+
+Extrude { {0.0,1,0}, {-.5,0.0,0.0}, 3.14159/4 } { Surface{11}; }
diff --git a/benchmarks/3d/Cube-06.geo b/benchmarks/3d/Cube-06.geo
index ac8411f6221315ff09d525fe31818853ce53ecb2..a14c946f9d7fec390bebae643591548c202fee66 100644
--- a/benchmarks/3d/Cube-06.geo
+++ b/benchmarks/3d/Cube-06.geo
@@ -1,23 +1,23 @@
-lv = .1; 
-lc = .04;    
-Point(1) = {0.0,0.0,0.0,lv};            
-Point(2) = {1,0.0,0.0,lv};            
-Point(3) = {1,1,0.0,lv};            
-Point(4) = {0,1,0.0,lv};            
-Line(1) = {4,3};            
-Line(2) = {3,2};            
-Line(3) = {2,1};            
-Line(4) = {1,4};            
-Point(11) = {0.5,0.5,0.0,lc};            
-Point(12) = {0.5,0.7,0.0,lc};            
-Point(13) = {0.5,0.3,0.0,lc};            
-Point(14) = {0.3,0.5,0.0,lc};            
-Point(15) = {0.7,0.5,0.0,lc};            
-Circle(5) = {15,11,12};  
-Circle(6) = {12,11,14};  
-Circle(7) = {14,11,13};  
-Circle(8) = {13,11,15};  
-Line Loop(9) = {1,2,3,4};  
-Line Loop(10) = {7,8,5,6};  
-Plane Surface(11) = {9,10};  
-Extrude Surface {11, {.0,0.0,.5} };  
+lv = .1;
+lc = .04;
+Point(1) = {0.0,0.0,0.0,lv};
+Point(2) = {1,0.0,0.0,lv};
+Point(3) = {1,1,0.0,lv};
+Point(4) = {0,1,0.0,lv};
+Line(1) = {4,3};
+Line(2) = {3,2};
+Line(3) = {2,1};
+Line(4) = {1,4};
+Point(11) = {0.5,0.5,0.0,lc};
+Point(12) = {0.5,0.7,0.0,lc};
+Point(13) = {0.5,0.3,0.0,lc};
+Point(14) = {0.3,0.5,0.0,lc};
+Point(15) = {0.7,0.5,0.0,lc};
+Circle(5) = {15,11,12};
+Circle(6) = {12,11,14};
+Circle(7) = {14,11,13};
+Circle(8) = {13,11,15};
+Line Loop(9) = {1,2,3,4};
+Line Loop(10) = {7,8,5,6};
+Plane Surface(11) = {9,10};
+Extrude {.0,0.0,.5} { Surface {11}; }
diff --git a/benchmarks/3d/Cube-07.geo b/benchmarks/3d/Cube-07.geo
index e326c3dfb6da081209f413f25e1c33713f1acd78..3f57a4bfe52be6464c9f0e3977b4c9e8911b6ac5 100644
--- a/benchmarks/3d/Cube-07.geo
+++ b/benchmarks/3d/Cube-07.geo
@@ -1,11 +1,11 @@
-Point(1) = {0.0,0.0,0.0,.1}; 
-Point(2) = {0.0,0.0,1,.1}; 
-Point(3) = {0.0,1,1,.1}; 
-Point(4) = {0.0,1,0,.1}; 
-Line(1) = {1,2}; 
-Line(2) = {2,3}; 
-Line(3) = {3,4}; 
-Line(4) = {4,1}; 
-Line Loop(5) = {1,2,3,4}; 
-Plane Surface(6) = {5}; 
-Extrude Surface {6, {1.0,0.0,0.0} }; 
+Point(1) = {0.0,0.0,0.0,.1};
+Point(2) = {0.0,0.0,1,.1};
+Point(3) = {0.0,1,1,.1};
+Point(4) = {0.0,1,0,.1};
+Line(1) = {1,2};
+Line(2) = {2,3};
+Line(3) = {3,4};
+Line(4) = {4,1};
+Line Loop(5) = {1,2,3,4};
+Plane Surface(6) = {5};
+Extrude {1.0,0.0,0.0}{ Surface {6}; }
diff --git a/benchmarks/3d/Cube-08.geo b/benchmarks/3d/Cube-08.geo
index e7dc6e4f64e956116931fe0b6611ad370c8070f2..0bb6fc6d36d1669c304dd8a4ccc6ab5a244a87ce 100644
--- a/benchmarks/3d/Cube-08.geo
+++ b/benchmarks/3d/Cube-08.geo
@@ -1,19 +1,19 @@
-/*****************************      
-A cube with a hole   
-*****************************/      
-  
+/*****************************
+A cube with a hole
+*****************************/
+
 Point(1) = {0.0,0.0,0.0,.1};
-Extrude Point {1, {1,0.0,0} };
-Extrude Line {1, {0.0,0.0,1} };
-aa[] = Extrude Surface {5, {0,1,0} };;
-  
+Extrude {1,0.0,0} { Point{1}; }
+Extrude {0.0,0.0,1} { Line{1}; }
+aa[] = Extrude {0,1,0} { Surface{5}; };
+
 Point(100) = {0.3,0.3,0.3,.1};
-Extrude Point {100, {.4,0.0,0} };
-Extrude Line {28, {0,0.4,0} };
-bb[] = Extrude Surface {32, {0,0.,0.4} };;
+Extrude {.4,0.0,0} { Point{100}; }
+Extrude {0,0.4,0} { Line {28}; }
+bb[] = Extrude {0,0.,0.4} { Surface {32}; };
 
 Delete{Volume{aa[1],bb[1]};}
- 
+
 Surface Loop(55) = {-26,5,-14,-18,-22,-27};
 Surface Loop(56) = {-41,32,-45,-49,-53,-54};
 Volume(57) = {55,56};
diff --git a/benchmarks/3d/Cube-Attr-01.geo b/benchmarks/3d/Cube-Attr-01.geo
index f53c0d858d13203917d7cd0c93a98368a522cc58..930de046a0012e37d853be444663b52db2b73c27 100644
--- a/benchmarks/3d/Cube-Attr-01.geo
+++ b/benchmarks/3d/Cube-Attr-01.geo
@@ -9,11 +9,11 @@ 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}; }
+
 Surface Loop(29) = {23,6,15,19,28,27};
 Volume(30) = {29};
-                
+
 Point(16) = {-.5,.5,.5,1.0};
 Point(17) = {1.5,.5,.8,1.0};
 Line(30) = {16,17};
diff --git a/benchmarks/3d/Cube-Attr-02.geo b/benchmarks/3d/Cube-Attr-02.geo
index bb80965b120570de5574567568a1decd0265277d..9d6302f13f3d854205f9d524d937dac0c19b3ca5 100644
--- a/benchmarks/3d/Cube-Attr-02.geo
+++ b/benchmarks/3d/Cube-Attr-02.geo
@@ -1,21 +1,21 @@
 lc = 0.3;
-Point(1) = {0,0,0,lc};                              
-Point(2) = {1,0,0,lc};                              
-Point(3) = {1,1,0,lc};                              
-Point(4) = {0,1,0,lc};                              
-Line(1) = {4,3};                              
-Line(2) = {3,2};                              
-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}};
-                         
-Surface Loop(29) = {23,6,15,19,28,27};                        
-Volume(30) = {29};                        
+Point(1) = {0,0,0,lc};
+Point(2) = {1,0,0,lc};
+Point(3) = {1,1,0,lc};
+Point(4) = {0,1,0,lc};
+Line(1) = {4,3};
+Line(2) = {3,2};
+Line(3) = {2,1};
+Line(4) = {1,4};
+Line Loop(5) = {2,3,4,1};
+Plane Surface(6) = {5};
+Extrude {0,0.0,1}{ Surface{6}; }
+
+Surface Loop(29) = {23,6,15,19,28,27};
+Volume(30) = {29};
+
+Point(55) = {0.3,0.3,0.3,1};
 
-Point(55) = {0.3,0.3,0.3,1};                              
-                    
 Field[1] = Attractor;
 Field[1].NodesList = {55};
 
diff --git a/benchmarks/3d/Cube-Attr-03.geo b/benchmarks/3d/Cube-Attr-03.geo
index 2b7c948f46627a5d4a97fd67df60a087b897573f..c09a472cbb5d02f8b5ae4702a82bd43682d9ffcf 100644
--- a/benchmarks/3d/Cube-Attr-03.geo
+++ b/benchmarks/3d/Cube-Attr-03.geo
@@ -1,15 +1,15 @@
 lc = 0.1;
-Point(1) = {0.0,0.0,0.0,lc};         
-Point(2) = {1,0.0,0.0,lc};         
-Point(3) = {1,1,0.0,lc};         
-Point(4) = {0,1,0.0,lc};         
-Line(1) = {4,3};         
-Line(2) = {3,2};         
-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} };         
+Point(1) = {0.0,0.0,0.0,lc};
+Point(2) = {1,0.0,0.0,lc};
+Point(3) = {1,1,0.0,lc};
+Point(4) = {0,1,0.0,lc};
+Line(1) = {4,3};
+Line(2) = {3,2};
+Line(3) = {2,1};
+Line(4) = {1,4};
+Line Loop(5) = {2,3,4,1};
+Plane Surface(6) = {5};
+Extrude {0,0.0,1}{ Surface {6}; }
 
 Field[1] = Box;
 Field[1].VIn = 0.01;
diff --git a/benchmarks/3d/CubeFullPeriodic.geo b/benchmarks/3d/CubeFullPeriodic.geo
index 7f94b5b5150e6a1071de4b2194f43f812680118f..ac2472d2b25938f14c11a7132645a31f3c1b7672 100644
--- a/benchmarks/3d/CubeFullPeriodic.geo
+++ b/benchmarks/3d/CubeFullPeriodic.geo
@@ -2,17 +2,17 @@
 //Mesh.Voronoi=1;
 
 lc = 0.08;
-Point(1) = {0.0,0.0,0.0,lc};         
-Point(2) = {1,0.0,0.0,lc};         
-Point(3) = {1,1,0.0,lc};         
-Point(4) = {0,1,0.0,lc};         
-Line(1) = {4,3};         
-Line(2) = {3,2};         
-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} };         
+Point(1) = {0.0,0.0,0.0,lc};
+Point(2) = {1,0.0,0.0,lc};
+Point(3) = {1,1,0.0,lc};
+Point(4) = {0,1,0.0,lc};
+Line(1) = {4,3};
+Line(2) = {3,2};
+Line(3) = {2,1};
+Line(4) = {1,4};
+Line Loop(5) = {2,3,4,1};
+Plane Surface(6) = {5};
+Extrude {0,0.0,1}{ Surface{6}; }
 
 
 Periodic Surface 28 {11, 10, 9, 8} = 6 {1, 4, 3, 2} ;
diff --git a/benchmarks/3d/Revolve.geo b/benchmarks/3d/Revolve.geo
index 6d6081cc08a174d34a38c4041f02e4b64ec7d903..66bc42eb4c6bef3b7ef65e5405ebd05a75f78885 100644
--- a/benchmarks/3d/Revolve.geo
+++ b/benchmarks/3d/Revolve.geo
@@ -1,15 +1,15 @@
-lc = .1;          
-Point(1) = {2.0,0.0,0.0,lc};          
-Point(2) = {2.0,1,0.0,lc};          
-Point(3) = {1,0,0.0,lc};          
-Point(4) = {3,0,0.0,lc};          
-Point(5) = {2,-1,0.0,lc};          
-Line(1) = {4,2};          
-         
-Line(2) = {2,3};         
-Line(3) = {3,5};         
-Line(4) = {5,4};         
-Line Loop(5) = {4,1,2,3};         
-Plane Surface(6) = {5};         
-       
-Extrude Surface{6, {0.0,1,0}, {0,0.0,0.0},  3.14159/4};         
+lc = .1;
+Point(1) = {2.0,0.0,0.0,lc};
+Point(2) = {2.0,1,0.0,lc};
+Point(3) = {1,0,0.0,lc};
+Point(4) = {3,0,0.0,lc};
+Point(5) = {2,-1,0.0,lc};
+Line(1) = {4,2};
+
+Line(2) = {2,3};
+Line(3) = {3,5};
+Line(4) = {5,4};
+Line Loop(5) = {4,1,2,3};
+Plane Surface(6) = {5};
+
+Extrude { {0.0,1,0}, {0,0.0,0.0},  3.14159/4} { Surface{6}; }
diff --git a/benchmarks/3d/Revolve2.geo b/benchmarks/3d/Revolve2.geo
index 685b78a6289e5ae14ec4c9cadc1766de85abc1e8..57f9a84851a1b6cc826d734182882831d7bbe401 100644
--- a/benchmarks/3d/Revolve2.geo
+++ b/benchmarks/3d/Revolve2.geo
@@ -1,30 +1,30 @@
-lc = .3;             
-Point(2) = {3.0,-1.0,0.0,lc};             
-Point(3) = {1,-1,0.0,lc};             
-Point(4) = {3,1,0.0,lc};             
-Point(5) = {1,1,0.0,lc};             
-Line(1) = {4,2};                        
-Line(2) = {2,3};            
-Line(3) = {3,5};            
-Line(4) = {5,4};            
-Line Loop(5) = {4,1,2,3};            
-Plane Surface(6) = {5};            
-          
-Extrude Surface{6, {0.0,1,0}, {0,0.0,0.0},  3.14159/2};            
-          
-Coherence;            
-Delete { 
- Surface{6}; 
-} 
-Delete { 
- Surface{15}; 
-} 
-Delete { 
- Surface{28}; 
-} 
-Delete { 
- Surface{23}; 
-} 
-Delete { 
- Surface{27}; 
-} 
+lc = .3;
+Point(2) = {3.0,-1.0,0.0,lc};
+Point(3) = {1,-1,0.0,lc};
+Point(4) = {3,1,0.0,lc};
+Point(5) = {1,1,0.0,lc};
+Line(1) = {4,2};
+Line(2) = {2,3};
+Line(3) = {3,5};
+Line(4) = {5,4};
+Line Loop(5) = {4,1,2,3};
+Plane Surface(6) = {5};
+
+Extrude {{0.0,1,0}, {0,0.0,0.0},  3.14159/2}{ Surface{6}; }
+
+Coherence;
+Delete {
+ Surface{6};
+}
+Delete {
+ Surface{15};
+}
+Delete {
+ Surface{28};
+}
+Delete {
+ Surface{23};
+}
+Delete {
+ Surface{27};
+}
diff --git a/benchmarks/3d/Revolve3.geo b/benchmarks/3d/Revolve3.geo
index fcf25a64064d9db7585a163e7cdec163188db615..cb63f93aacaf9a614fc234c30b00a6f7fbb96f6d 100644
--- a/benchmarks/3d/Revolve3.geo
+++ b/benchmarks/3d/Revolve3.geo
@@ -1,8 +1,8 @@
-Point(1) = {0.0,0.0,0.0,.2};   
-Point(2) = {1,1,0.0,.2};   
-Point(3) = {2,1.2,0.0,.2};   
-Point(4) = {3,0,0.0,.2};   
-Point(5) = {4,1,0.0,.2};   
-CatmullRom(1) = {1,2,3,4,5};   
-Extrude Line{ 1, {0.0,1,0}, {-1,0.0,0.0}, 3.14159/2 };   
-Coherence;   
+Point(1) = {0.0,0.0,0.0,.2};
+Point(2) = {1,1,0.0,.2};
+Point(3) = {2,1.2,0.0,.2};
+Point(4) = {3,0,0.0,.2};
+Point(5) = {4,1,0.0,.2};
+CatmullRom(1) = {1,2,3,4,5};
+Extrude { {0.0,1,0}, {-1,0.0,0.0}, 3.14159/2 } { Line{1}; }
+Coherence;
diff --git a/benchmarks/3d/Torus.geo b/benchmarks/3d/Torus.geo
index e8ef42bd7f589b16d2968ae165ddf90e4c6c6dda..16162f0c0a95b0d99e8b56cf57f0eef9811d4cb1 100644
--- a/benchmarks/3d/Torus.geo
+++ b/benchmarks/3d/Torus.geo
@@ -1,16 +1,16 @@
-lc = 0.1;          
-Point(1) = {2.0,0.0,0.0,lc};          
-Point(2) = {2.0,1,0.0,lc};          
-Point(3) = {1,0,0.0,lc};          
-Point(4) = {3,0,0.0,lc};          
-Point(5) = {2,-1,0.0,lc};          
-Circle(1) = {4,1,2};          
-         
-Circle(2) = {2,1,3};         
-Circle(3) = {3,1,5};         
-Circle(4) = {5,1,4};         
-Line Loop(5) = {4,1,2,3};         
-Plane Surface(6) = {5};         
-       
-Extrude Surface{6, {0.0,1,0}, {0,0.0,0.0}, 1*3.14159};         
+lc = 0.1;
+Point(1) = {2.0,0.0,0.0,lc};
+Point(2) = {2.0,1,0.0,lc};
+Point(3) = {1,0,0.0,lc};
+Point(4) = {3,0,0.0,lc};
+Point(5) = {2,-1,0.0,lc};
+Circle(1) = {4,1,2};
+
+Circle(2) = {2,1,3};
+Circle(3) = {3,1,5};
+Circle(4) = {5,1,4};
+Line Loop(5) = {4,1,2,3};
+Plane Surface(6) = {5};
+
+Extrude { {0.0,1,0}, {0,0.0,0.0}, 1*3.14159} { Surface{6}; }
 //Recombine Surface {6, 27, 23, 15, 19, 28};
diff --git a/benchmarks/3d/Torus2.geo b/benchmarks/3d/Torus2.geo
index c5e3b27a0dcabcd535af03d879eb2c31039b514d..f7bcc0d06a0d9af4b88377272e906081f437d53e 100644
--- a/benchmarks/3d/Torus2.geo
+++ b/benchmarks/3d/Torus2.geo
@@ -11,12 +11,10 @@ Circle(3) = {5,1,4};
 Circle(4) = {4,1,2};
 Line Loop(5) = {1,2,3,4};
 Plane Surface(6) = {5};
-Extrude Surface {6, {0,1,0}, {-2,0,0}, 2*Pi/3};
-Extrude Surface {28, {0,1,0}, {-2,0,0}, 2*Pi/3};
-Extrude Surface {50, {0,1,0}, {-2,0,0}, 2*Pi/3};
-Surface Loop(72) = {45,23,67,71,49,27,15,59,37,41,19,63};
+Extrude {{0,1,0}, {-2,0,0}, 2*Pi/3} {Surface {6}; }
+Extrude {{0,1,0}, {-2,0,0}, 2*Pi/3} {Surface {28}; }
+Extrude {{0,1,0}, {-2,0,0}, 2*Pi/3} {Surface {50}; }
+//Surface Loop(72) = {45,23,67,71,49,27,15,59,37,41,19,63};
 //Volume(73) = {72};
-
 //Compound Surface(100)={45,23,67,71,49,27,15,59,37,41,19,63};
-
 //Recombine Surface {50, 71, 67, 63, 59, 6, 45, 41, 23, 19, 37, 49, 28, 15, 27};
diff --git a/benchmarks/3d/Xpopo.geo b/benchmarks/3d/Xpopo.geo
index cf25fe233426e02142f6541e198616925dd9f6f1..e5de0747b31a68f333c437d39466a185d1fd7d0a 100644
--- a/benchmarks/3d/Xpopo.geo
+++ b/benchmarks/3d/Xpopo.geo
@@ -1,41 +1,41 @@
-lc=0.8;
-R=4;
-r=1;
-h=Sqrt(r*(2*R+r));
-Point(1) = {-r,0,0,lc};
-Point(2) = {0,0,r,lc};
-Point(4) = {0,0,-r,lc};
-Point(5) = {0,0,0,lc};
-Point(6) = {0,h,0,lc};
-Point(7) = {-R,0,0,lc};
-Point(8) = {-R,R+r,0,lc};
-Circle(1) = {1,5,2};
-Circle(2) = {4,5,1};
-Circle(3) = {6,7,8};
-Ellipse(4) = {2,5,6,6};
-Ellipse(5) = {4,5,6,6};
-Extrude Line {1, {0,0,1}, {-R,0,0}, Pi/2};
-Extrude Line {2, {0,0,1}, {-R,0,0}, Pi/2};
-Extrude Line {6, {0,0,1}, {-R,R,0}, -Pi/2};
-Extrude Line {10, {0,0,1}, {-R,R,0}, -Pi/2};
-Extrude Line {14, {0,0,1}, {-R,R,0}, -Pi/2};
-Extrude Line {17, {0,0,1}, {-R,R,0}, -Pi/2};
-Line Loop(1) = {3,4,-8,20};
-Line Loop(2) = {-3,23,11,-5};
-Surface(1) = {1};
-Surface(2) = {2};
-Physical Surface(1) = {1,2,9,13,16,19,22,25};
-
+lc=0.8;
+R=4;
+r=1;
+h=Sqrt(r*(2*R+r));
+Point(1) = {-r,0,0,lc};
+Point(2) = {0,0,r,lc};
+Point(4) = {0,0,-r,lc};
+Point(5) = {0,0,0,lc};
+Point(6) = {0,h,0,lc};
+Point(7) = {-R,0,0,lc};
+Point(8) = {-R,R+r,0,lc};
+Circle(1) = {1,5,2};
+Circle(2) = {4,5,1};
+Circle(3) = {6,7,8};
+Ellipse(4) = {2,5,6,6};
+Ellipse(5) = {4,5,6,6};
+Extrude {{0,0,1}, {-R,0,0}, Pi/2}{ Line {1} ;}
+Extrude {{0,0,1}, {-R,0,0}, Pi/2}{ Line {2} ;}
+Extrude {{0,0,1}, {-R,R,0}, -Pi/2}{ Line {6} ;}
+Extrude {{0,0,1}, {-R,R,0}, -Pi/2}{ Line {10};}
+Extrude {{0,0,1}, {-R,R,0}, -Pi/2}{ Line {14};}
+Extrude {{0,0,1}, {-R,R,0}, -Pi/2}{ Line {17};}
+Line Loop(1) = {3,4,-8,20};
+Line Loop(2) = {-3,23,11,-5};
+Surface(1) = {1};
+Surface(2) = {2};
+Physical Surface(1) = {1,2,9,13,16,19,22,25};
+
 //Lower Left Quarter
-l1[] = Symmetry {0, 1, 0, 0} { Duplicata{ Surface{1,2,9,13,16,19,22,25}; } };
-Physical Surface(2) = - {l1[]};
-
-//Upper Right Quarter
-l2[] = Symmetry {1, 0, 0, 0} { Duplicata{ Surface{1,2,9,13,16,19,22,25}; } };
-Physical Surface(3) = - {l2[]};
-
+l1[] = Symmetry {0, 1, 0, 0} { Duplicata{ Surface{1,2,9,13,16,19,22,25}; } };
+Physical Surface(2) = - {l1[]};
+
+//Upper Right Quarter
+l2[] = Symmetry {1, 0, 0, 0} { Duplicata{ Surface{1,2,9,13,16,19,22,25}; } };
+Physical Surface(3) = - {l2[]};
+
 //Lower Right Quarter
-l3[] = Rotate { {0,0,1}, {0,0,0}, Pi } { Duplicata{ Surface{1,2,9,13,16,19,22,25}; } };
-Physical Surface(4) = {l3[]};
+l3[] = Rotate { {0,0,1}, {0,0,0}, Pi } { Duplicata{ Surface{1,2,9,13,16,19,22,25}; } };
+Physical Surface(4) = {l3[]};
 Surface Loop(100000) = {1,2,-64,-59,-87,-91,-83,-74,107,102,-69,-79,92,97,-31,-26,-54,-58,-50,-41,13,9,-36,-46,16,22,25,19,124,116,112,120};
 Volume(100001) = {100000};
diff --git a/benchmarks/3d/bug_prot.geo b/benchmarks/3d/bug_prot.geo
index 03c89fbcfa162a84409ebfa3bd83b36a6e8e9f7b..1c6d826d0c139917ea117cb4abdfe4ea7cb31833 100644
--- a/benchmarks/3d/bug_prot.geo
+++ b/benchmarks/3d/bug_prot.geo
@@ -1,6 +1,6 @@
-c45 = 0.5 * (2^0.5); 
-Point(1) = {0.0,0.0,0.0,1.0};  
-Point(2) = {-c45,c45,0.0,1.0};  
-Line(1) = {1,2}; 
-Extrude Line{1, {-c45,c45,0}, {1,0.0,0}, 3.14159/2 }; 
-Coherence; 
+c45 = 0.5 * (2^0.5);
+Point(1) = {0.0,0.0,0.0,1.0};
+Point(2) = {-c45,c45,0.0,1.0};
+Line(1) = {1,2};
+Extrude { {-c45,c45,0}, {1,0.0,0}, 3.14159/2 } { Line{1}; }
+Coherence;
diff --git a/benchmarks/3d/calbute.geo b/benchmarks/3d/calbute.geo
index ea3716fdccd502a567d1f715c1f51a10c3b7c854..49279ac125b194eb5a08749d1f02cbd1d9564484 100644
--- a/benchmarks/3d/calbute.geo
+++ b/benchmarks/3d/calbute.geo
@@ -1,27 +1,27 @@
 lc = 1;
-Point(2) = {-1.96039E+00,-1.28719E+00, 2.12132E+00,lc}; 
-Point(3) = {-5.60111E-01,-1.08916E+00, 7.07107E-01,lc}; 
-Point(4) = {-2.24045E+00, 6.93103E-01, 2.12132E+00,lc}; 
-Point(5) = {-8.40168E-01, 8.91133E-01, 7.07107E-01,lc}; 
-Point(6) = { 5.60111E-01, 1.08916E+00, 7.07107E-01,lc}; 
-Point(7) = { 1.96039E+00, 1.28719E+00, 2.12132E+00,lc}; 
-Point(11) = { 2.24045E+00,-6.93103E-01, 2.12132E+00,lc}; 
-Point(15) = { 8.40168E-01,-8.91133E-01, 7.07107E-01,lc}; 
-Point(27) = {-1.40028E-01, 9.90148E-01, 1.20739E-15,lc}; 
-Point(37) = { 1.40028E-01,-9.90148E-01,-1.20739E-15,lc}; 
-Line (1) = {4,2}; 
-Line (2) = {2,3}; 
-Line (3) = {3,5}; 
-Line (4) = {5,4}; 
-Line (8) = {6,7}; 
-Line (9) = {7,11}; 
-Line (10) = {11,15}; 
-Line (11) = {15,6}; 
-Circle (13) = {5,27,6} Plane{ 1.00000E+00, 0.00000E+00, 0.00000E+00}; 
-Circle (14) = {4,27,7} Plane{ 1.00000E+00, 0.00000E+00, 0.00000E+00}; 
-Circle (18) = {2,37,11} Plane{ 1.00000E+00, 0.00000E+00, 0.00000E+00}; 
-Circle (22) = {3,37,15} Plane{ 1.00000E+00, 0.00000E+00, 0.00000E+00}; 
-Line Loop (1000019) = {  1, 18, -9,-14}; 
-Surface (19) = {1000019}; 
-Extrude Line{1, {-0.,1,0}, {0.0,0.0,0.0}, -3.14159/2 };
+Point(2) = {-1.96039E+00,-1.28719E+00, 2.12132E+00,lc};
+Point(3) = {-5.60111E-01,-1.08916E+00, 7.07107E-01,lc};
+Point(4) = {-2.24045E+00, 6.93103E-01, 2.12132E+00,lc};
+Point(5) = {-8.40168E-01, 8.91133E-01, 7.07107E-01,lc};
+Point(6) = { 5.60111E-01, 1.08916E+00, 7.07107E-01,lc};
+Point(7) = { 1.96039E+00, 1.28719E+00, 2.12132E+00,lc};
+Point(11) = { 2.24045E+00,-6.93103E-01, 2.12132E+00,lc};
+Point(15) = { 8.40168E-01,-8.91133E-01, 7.07107E-01,lc};
+Point(27) = {-1.40028E-01, 9.90148E-01, 1.20739E-15,lc};
+Point(37) = { 1.40028E-01,-9.90148E-01,-1.20739E-15,lc};
+Line (1) = {4,2};
+Line (2) = {2,3};
+Line (3) = {3,5};
+Line (4) = {5,4};
+Line (8) = {6,7};
+Line (9) = {7,11};
+Line (10) = {11,15};
+Line (11) = {15,6};
+Circle (13) = {5,27,6} Plane{ 1.00000E+00, 0.00000E+00, 0.00000E+00};
+Circle (14) = {4,27,7} Plane{ 1.00000E+00, 0.00000E+00, 0.00000E+00};
+Circle (18) = {2,37,11} Plane{ 1.00000E+00, 0.00000E+00, 0.00000E+00};
+Circle (22) = {3,37,15} Plane{ 1.00000E+00, 0.00000E+00, 0.00000E+00};
+Line Loop (1000019) = {  1, 18, -9,-14};
+Surface (19) = {1000019};
+Extrude { {-0.,1,0}, {0.0,0.0,0.0}, -3.14159/2 } { Line{1}; }
 Coherence;
diff --git a/benchmarks/3d/cas_pb.geo b/benchmarks/3d/cas_pb.geo
index 647952cb856eb00b5b85d7c18f8addbe6f7663e1..b865a8e9c37a19631e421b50f670d9681667efba 100644
--- a/benchmarks/3d/cas_pb.geo
+++ b/benchmarks/3d/cas_pb.geo
@@ -9,7 +9,7 @@ Line(3) = {2,3};
 Line(4) = {3,1};
 Line Loop(5) = {4,1,2,3};
 Plane Surface(6) = {5};
-Extrude Surface { 6, {0,0,1} };
+Extrude {0,0,1}{ Surface{6}; }
 Coherence;
 
 Point(111) = {5,5,-.1,.2};
@@ -23,11 +23,10 @@ Circle(31) = {18,111,17};
 Circle(32) = {17,111,15};
 Line Loop(33) = {30,31,32,29};
 Plane Surface(34) = {33};
-Extrude Surface { 34, {0,0,-1} };
+Extrude {0,0,-1} { Surface {34}; }
 Coherence;
 Surface Loop(57) = {56,43,34,47,51,55};
 Volume(58) = {57};
 
 Surface Loop(58) = {28,15,6,19,23,27};
 Volume(59) = {58};
-
diff --git a/benchmarks/3d/concentric_sphere.geo b/benchmarks/3d/concentric_sphere.geo
index a8289facca92c5710e5b66460fd8e38ef44ef1c7..d17549cfb95d07c6ac0b5cbcfb084bc6c325c04c 100644
--- a/benchmarks/3d/concentric_sphere.geo
+++ b/benchmarks/3d/concentric_sphere.geo
@@ -40,15 +40,14 @@ Plane Surface(12) = {9};
 Plane Surface(13) = {10};
 
 // extrude inner semi-circle to get inner sphere
-v1[] = Extrude Surface {12, {0.0,0.0,1.0}, {0.0,0.0,0.0},2*Pi/3};;
-v2[] = Extrude Surface {v1[0], {0.0,0.0,1.0}, {0.0,0.0,0.0},2*Pi/3};;
-v3[] = Extrude Surface {v2[0], {0.0,0.0,1.0}, {0.0,0.0,0.0},2*Pi/3};;
+v1[] = Extrude { {0.0,0.0,1.0}, {0.0,0.0,0.0},2*Pi/3}{ Surface{12}; };
+v2[] = Extrude { {0.0,0.0,1.0}, {0.0,0.0,0.0},2*Pi/3}{ Surface{v1[0]}; };
+v3[] = Extrude { {0.0,0.0,1.0}, {0.0,0.0,0.0},2*Pi/3}{ Surface{v2[0]}; };
 
 // extrude outer slice to get outer spherical layer
-v4[] = Extrude Surface {13, {0.0,0.0,1.0}, {0.0,0.0,0.0},2*Pi/3};;
-v5[] = Extrude Surface {v4[0], {0.0,0.0,1.0}, {0.0,0.0,0.0},2*Pi/3};;
-v6[] = Extrude Surface {v5[0], {0.0,0.0,1.0}, {0.0,0.0,0.0},2*Pi/3};;
-
+v4[] = Extrude { {0.0,0.0,1.0}, {0.0,0.0,0.0},2*Pi/3}{ Surface{13}; };
+v5[] = Extrude { {0.0,0.0,1.0}, {0.0,0.0,0.0},2*Pi/3}{ Surface{v4[0]}; };
+v6[] = Extrude { {0.0,0.0,1.0}, {0.0,0.0,0.0},2*Pi/3}{ Surface{v5[0]}; };
 
 //assign volume number 1 to outer layer
 Physical Volume(1) = {v4[1],v5[1],v6[1]};
diff --git a/benchmarks/3d/durufle.geo b/benchmarks/3d/durufle.geo
index 1e0f8bb789cce761da45580e5d159378cf7f5b16..7cc013e779b2856674e6e8047a4fa82c00d5b9b2 100644
--- a/benchmarks/3d/durufle.geo
+++ b/benchmarks/3d/durufle.geo
@@ -37,15 +37,9 @@ Line Loop(1) = {1, 2, 3, -4, -5, 6, 7};
 Line Loop(2) = {8, 9, -2, -1, -7, 10, 11};
 Plane Surface(1) = {1};
 Plane Surface(2) = {2};
-Extrude Surface {1, {0.0,1.0,0.0}, {0.0,0.0,0.0},
-2*Pi/3};
-Extrude Surface {38, {0.0,1.0,0.0}, {0.0,0.0,0.0},
-2*Pi/3};
-Extrude Surface {65, {0.0,1.0,0.0}, {0.0,0.0,0.0},
-2*Pi/3};
-Extrude Surface {2, {0.0,1.0,0.0}, {0.0,0.0,0.0},
-2*Pi/3};
-Extrude Surface {118, {0.0,1.0,0.0}, {0.0,0.0,0.0},
-2*Pi/3};
-Extrude Surface {145, {0.0,1.0,0.0}, {0.0,0.0,0.0},
-2*Pi/3};
+Extrude {{0.0,1.0,0.0}, {0.0,0.0,0.0}, 2*Pi/3}{Surface {1};}
+Extrude {{0.0,1.0,0.0}, {0.0,0.0,0.0}, 2*Pi/3}{Surface {38};}
+Extrude {{0.0,1.0,0.0}, {0.0,0.0,0.0}, 2*Pi/3}{Surface {65};}
+Extrude {{0.0,1.0,0.0}, {0.0,0.0,0.0}, 2*Pi/3}{Surface {2};}
+Extrude {{0.0,1.0,0.0}, {0.0,0.0,0.0}, 2*Pi/3}{Surface {118};}
+Extrude {{0.0,1.0,0.0}, {0.0,0.0,0.0}, 2*Pi/3}{Surface {145};}
diff --git a/benchmarks/3d/fil.geo b/benchmarks/3d/fil.geo
index ea2eb9e99387f288da9126e93351def222d19fdd..434ea0f393a3285d0a601cdf8a6704bed298c0fe 100644
--- a/benchmarks/3d/fil.geo
+++ b/benchmarks/3d/fil.geo
@@ -18,49 +18,49 @@ Point(1) = {0,-wstrip/2,0,mastrip};
 Point(2) = {0,wstrip/2,0,mastrip};
 Point(3) = {R+r,0,0,mafil};
 
-Extrude Point {1, {lsubstrat,0,0}};
-Extrude Point {2, {lsubstrat,0,0}};
+Extrude {lsubstrat,0,0}{ Point {1}; }
+Extrude {lsubstrat,0,0}{ Point {2}; }
 
 Line(3) = {1,2};
 Line(4) = {5,4};
 
-Extrude Point {3, {0,0,1}, {R,0,0}, Pi/4};
-Extrude Point {6, {0,0,1}, {R,0,0}, Pi/4};
-Extrude Point {8, {0,0,1}, {R,0,0}, Pi/4};
-Extrude Point {9, {0,0,1}, {R,0,0}, Pi/4};
-Extrude Point {10, {0,0,1}, {R,0,0}, Pi/4};
-Extrude Point {11, {0,0,1}, {R,0,0}, Pi/4};
-Extrude Point {12, {0,0,1}, {R,0,0}, Pi/4};
-Extrude Point {13, {0,0,1}, {R,0,0}, Pi/4};
+Extrude {{0,0,1}, {R,0,0}, Pi/4}{ Point {3}; }
+Extrude {{0,0,1}, {R,0,0}, Pi/4}{ Point {6}; }
+Extrude {{0,0,1}, {R,0,0}, Pi/4}{ Point {8}; }
+Extrude {{0,0,1}, {R,0,0}, Pi/4}{ Point {9}; }
+Extrude {{0,0,1}, {R,0,0}, Pi/4}{ Point {10}; }
+Extrude {{0,0,1}, {R,0,0}, Pi/4}{ Point {11}; }
+Extrude {{0,0,1}, {R,0,0}, Pi/4}{ Point {12}; }
+Extrude {{0,0,1}, {R,0,0}, Pi/4}{ Point {13}; }
 
 Line Loop(13) = {-4,-2,-3,1};
 Line Loop(14) = {5,6,7,8,9,10,11,12};
 Plane Surface(15) = {13,14};
 
-Extrude Line {8, {0,-1,0}, {0,0,0}, Pi/2}{
+Extrude { {0,-1,0}, {0,0,0}, Pi/2}{ Line {8};
   Layers {{R*Pi/2/mafil},{1.0}};
-};
-Extrude Line {9, {0,-1,0}, {0,0,0}, Pi/2}{
+}
+Extrude { {0,-1,0}, {0,0,0}, Pi/2}{ Line {9};
   Layers {{R*Pi/2/mafil},{1.0}};
-};
-Extrude Line {10, {0,-1,0}, {0,0,0}, Pi/2}{
+}
+Extrude { {0,-1,0}, {0,0,0}, Pi/2}{ Line {10};
   Layers {{R*Pi/2/mafil},{1.0}};
-};
-Extrude Line {7, {0,-1,0}, {0,0,0}, Pi/2}{
+}
+Extrude { {0,-1,0}, {0,0,0}, Pi/2}{ Line {7};
   Layers {{R*Pi/2/mafil},{1.0}};
-};
-Extrude Line {6, {0,-1,0}, {0,0,0}, Pi/2}{
+}
+Extrude { {0,-1,0}, {0,0,0}, Pi/2}{ Line {6};
   Layers {{R*Pi/2/mafil},{1.0}};
-};
-Extrude Line {5, {0,-1,0}, {0,0,0}, Pi/2}{
+}
+Extrude { {0,-1,0}, {0,0,0}, Pi/2}{ Line {5};
   Layers {{R*Pi/2/mafil},{1.0}};
-};
-Extrude Line {12, {0,-1,0}, {0,0,0}, Pi/2}{
+}
+Extrude { {0,-1,0}, {0,0,0}, Pi/2}{ Line {12};
   Layers {{R*Pi/2/mafil},{1.0}};
-};
-Extrude Line {11, {0,-1,0}, {0,0,0}, Pi/2}{
+}
+Extrude { {0,-1,0}, {0,0,0}, Pi/2}{ Line {11};
   Layers {{R*Pi/2/mafil},{1.0}};
-};
+}
 
 Point(51) = {0,-wsubstrat/2,0,maboite};
 Point(52) = {0,-wsubstrat/2,-hsubstrat,maboite};
@@ -78,11 +78,11 @@ Line(54) = {55,56};
 Line(55) = {56,2};
 Line Loop(56) = {-53,-52,-51,-50,-49,48,54,55};
 Plane Surface(57) = {56};
-aa[] = Extrude Surface {57, {lsubstrat,0,0}};  ;
+aa[] = Extrude {lsubstrat,0,0} { Surface {57}; } ;
 Delete { Volume { aa[1] }; }
 
-Extrude Line {81, {0,0,hboite}};
-Extrude Line {69, {0,0,hboite}};
+Extrude {0,0,hboite}{ Line {81}; }
+Extrude {0,0,hboite}{ Line {69}; }
 Line(108) = {83,85};
 Line(109) = {86,84};
 Line Loop(110) = {108,-105,53,-3,49,101};
diff --git a/benchmarks/3d/francois.geo b/benchmarks/3d/francois.geo
index d9ac240e143664f1db84dc8d692808318de44043..308e6d6cd406db824d8bc9daaf95abba01b9a866 100644
--- a/benchmarks/3d/francois.geo
+++ b/benchmarks/3d/francois.geo
@@ -1,29 +1,26 @@
-r = 2.24; 
-Point(1) = {0.0,0.0,0.0,.2};   
-Point(2) = {r,.0,0.0,.2};   
-Point(3) = {-r,0.0,0.0,.2};   
-Point(4) = {0,r,0.0,.2};   
-Point(5) = {0,-r,0.0,.2};   
-Circle(1) = {2,1,4};   
-Circle(2) = {4,1,3};   
-Circle(3) = {3,1,5};   
-Circle(4) = {5,1,2};   
-Point(6) = {10,10,0.0,1};   
-Point(7) = {-10,10,0.0,1};   
-Point(8) = {-10,-10,0.0,1};   
-Point(9) = {10,-10,0.0,1};   
-Line(5) = {8,7};   
-Line(6) = {7,6};   
-Line(7) = {6,9};   
-Line(8) = {9,8};   
-Line Loop(9) = {6,7,8,5};   
-Line Loop(10) = {4,1,2,3};   
-Plane Surface(11) = {9,10};   
-Extrude Surface {11, {0,0.0,2.0}}
-{
-   Layers { {2,1,2} , {.05,.95,1.} } ;
-};
-Coherence; 
+r = 2.24;
+Point(1) = {0.0,0.0,0.0,.2};
+Point(2) = {r,.0,0.0,.2};
+Point(3) = {-r,0.0,0.0,.2};
+Point(4) = {0,r,0.0,.2};
+Point(5) = {0,-r,0.0,.2};
+Circle(1) = {2,1,4};
+Circle(2) = {4,1,3};
+Circle(3) = {3,1,5};
+Circle(4) = {5,1,2};
+Point(6) = {10,10,0.0,1};
+Point(7) = {-10,10,0.0,1};
+Point(8) = {-10,-10,0.0,1};
+Point(9) = {10,-10,0.0,1};
+Line(5) = {8,7};
+Line(6) = {7,6};
+Line(7) = {6,9};
+Line(8) = {9,8};
+Line Loop(9) = {6,7,8,5};
+Line Loop(10) = {4,1,2,3};
+Plane Surface(11) = {9,10};
+Extrude {0,0.0,2.0}{ Surface {11};  Layers { {2,1,2} , {.05,.95,1.} } ; }
+Coherence;
 Physical Surface(54) = {53};
 Physical Surface(55) = {11};
 Physical Surface(56) = {40,44,48,52};
diff --git a/benchmarks/3d/hexaprism.geo b/benchmarks/3d/hexaprism.geo
index 807bbd5b1d0a391582e652615760a02723f5d743..aeef6b4e3bf6d88d42016db0a4c38b78e0613467 100644
--- a/benchmarks/3d/hexaprism.geo
+++ b/benchmarks/3d/hexaprism.geo
@@ -10,10 +10,10 @@ Line Loop(5) = {2,3,4,1};
 Plane Surface(6) = {5};
 Transfinite Surface{6} = {1,2,3,4};
 Recombine Surface{6};
-Extrude Surface {6, {0.0,0.0,1.0}}{Layers{1};Recombine;};
+Extrude {0.0,0.0,1.0}{ Surface {6}; Layers{1};Recombine;}
 Point(15) = {2,0.0,0.0,1.0};
 Line(29) = {15,2};
 Line(30) = {3,15};
 Line Loop(31) = {30,29,2};
 Plane Surface(32) = {31};
-Extrude Surface {32, {0.0,0.0,1.0}}{Layers{1};Recombine;};
+Extrude {0.0,0.0,1.0}{ Surface {32}; Layers{1};Recombine; }
diff --git a/benchmarks/3d/inducteur_cenaero.geo b/benchmarks/3d/inducteur_cenaero.geo
index e56dcbf0c656c6c00e89ca77c47d3633e03a9cc3..72e9251b11723d306fa6b794bb53dcade0b888e5 100644
--- a/benchmarks/3d/inducteur_cenaero.geo
+++ b/benchmarks/3d/inducteur_cenaero.geo
@@ -23,14 +23,14 @@ Circle(7) = {12,1,13};
 Circle(8) = {13,1,11};
 Line Loop(9) = {1,2,3,4};
 Line Loop(10) = {5,6,7,8};
-Extrude Line {2, {0.0,0.0,10}};
-Extrude Line {3, {0.0,0.0,10}};
-Extrude Line {4, {0.0,0.0,10}};
-Extrude Line {1, {0.0,0.0,10}};
-Extrude Line {5, {0.0,0.0,10}};
-Extrude Line {6, {0.0,0.0,10}};
-Extrude Line {7, {0.0,0.0,10}};
-Extrude Line {8, {0.0,0.0,10}};
+Extrude{0.0,0.0,10}{ Line{2}; }
+Extrude{0.0,0.0,10}{ Line{3}; }
+Extrude{0.0,0.0,10}{ Line{4}; }
+Extrude{0.0,0.0,10}{ Line{1}; }
+Extrude{0.0,0.0,10}{ Line{5}; }
+Extrude{0.0,0.0,10}{ Line{6}; }
+Extrude{0.0,0.0,10}{ Line{7}; }
+Extrude{0.0,0.0,10}{ Line{8}; }
 Line Loop(43) = {31,35,39,27};
 Line Loop(44) = {11,15,19,23};
 Plane Surface(45) = {43,44};
@@ -45,10 +45,10 @@ Circle(100001) = {3,100,2};
 Circle(100002) = {2,100,4};
 Circle(100003) = {4,100,5};
 Circle(100004) = {5,100,3};
-Extrude Line {100003, {0.0,0.0,15}};
-Extrude Line {100004, {0.0,0.0,15}};
-Extrude Line {100001, {0.0,0.0,15}};
-Extrude Line {100002, {0.0,0.0,15}};
+Extrude {0.0,0.0,15}{Line {100003};}
+Extrude {0.0,0.0,15}{Line {100004};}
+Extrude {0.0,0.0,15}{Line {100001};}
+Extrude {0.0,0.0,15}{Line {100002};}
 Line Loop(100021) = {100013,100017,100005,100009};
 Plane Surface(100022) = {100021};
 Line Loop(100023) = {100004,100001,100002,100003};
diff --git a/benchmarks/3d/induction4.geo b/benchmarks/3d/induction4.geo
index 9dc08cd88e95b31d8b4b0ecddc26b58aaa204711..44168b3fc5784b2c605cf4ab4a7942981e587517 100644
--- a/benchmarks/3d/induction4.geo
+++ b/benchmarks/3d/induction4.geo
@@ -182,6 +182,5 @@ Recombine Surface{ss[]};
 
 
 For i In {0:#ss[]-1}
-Extrude Surface { ss[i],  {0,0,h5} }{ 
-  Layers{{1,1,1,1},{h2/h5,h3/h5,h4/h5,1}}; Recombine; };
+  Extrude  {0,0,h5} { Surface {ss[i]}; Layers{{1,1,1,1},{h2/h5,h3/h5,h4/h5,1}}; Recombine; }
 EndFor
diff --git a/benchmarks/3d/lam3d_shell2_indxz.geo b/benchmarks/3d/lam3d_shell2_indxz.geo
index 7cfa4c683ca03436bdc8cbc881f6c9237bb93dde..394bdcdfa9213743b89cbdc3049ad489ebfc9657 100644
--- a/benchmarks/3d/lam3d_shell2_indxz.geo
+++ b/benchmarks/3d/lam3d_shell2_indxz.geo
@@ -17,7 +17,7 @@ lambda = 0.9 ;//90%-98%
 e = d*(1-lambda)/lambda ;//thickness isolation
 
 W2 = 50*u/4 ; //Half thickness of stack
-D2 = 1. * u ; //Half gap 
+D2 = 1. * u ; //Half gap
 
 T = nlam*(d+e) ;
 
@@ -38,7 +38,7 @@ xBox = dd*1.4 ;
 Rint = xBox ;
 Rext = xBox*1.2 ;
 
-x0 = 0 ; y0 = 0 ; z0 = 0; 
+x0 = 0 ; y0 = 0 ; z0 = 0;
 z1 = (nlam-1)*(d+e)+d/2 ;
 
 AXISY = 100;
@@ -62,7 +62,7 @@ AIRINF = 3001;
 
 SURFACEGINF  = 4000;
 SURFACEGE0 = 4001;//Side
-SURFACEGH0 = 4002;//Symmetry 
+SURFACEGH0 = 4002;//Symmetry
 SURFACEAIR = 4003;
 
 SURFBACK = 4010;
@@ -103,7 +103,7 @@ s = 1.5 ;
 
 lc     = s * W2/16;//W2/20;
 lcind  = s * wind/5;
-lcind2 = lcind ; 
+lcind2 = lcind ;
 
 lcbox    = lc*2;
 lcboxi    = lcind ;
@@ -139,7 +139,7 @@ vector_size_ = #vector[];
 Printf("Vector: size: %g", vector_size_);
 For i In {0:vector_size_-1}
   Printf(" %g", vector[i]);
-EndFor 
+EndFor
 Return
 /* use e.g.:
 vector[]=yourlist[]; Call PrintVector;
@@ -148,7 +148,7 @@ vector[]=yourlist[]; Call PrintVector;
 
 //---------------------------------------------------------------------
 
-x0 = 0 ; y0 = 0 ; z0 = 0; 
+x0 = 0 ; y0 = 0 ; z0 = 0;
 
 p0 = newp ; Point(p0)={x0,y0,z0,lc};
 p1 = newp ; Point(p1)={x0+W2,y0,z0,lc};
@@ -156,10 +156,10 @@ p1 = newp ; Point(p1)={x0+W2,y0,z0,lc};
 p2 = newp ; Point(p2)={x0+W2,y0+W2,z0,lc};
 p3 = newp ; Point(p3)={x0,y0+W2,z0,lc};
 
-l0 = newl ; Line(l0) = {p0,p1};  
-l1 = newl ; Line(l1) = {p1,p2};  
-l2 = newl ; Line(l2) = {p2,p3};  
-l3 = newl ; Line(l3) = {p3,p0};  
+l0 = newl ; Line(l0) = {p0,p1};
+l1 = newl ; Line(l1) = {p1,p2};
+l2 = newl ; Line(l2) = {p2,p3};
+l3 = newl ; Line(l3) = {p3,p0};
 
 surflam0 = news;
 Line Loop (surflam0) = {l0,l1,l2,l3};
@@ -182,7 +182,7 @@ lvector[] = {}; lvector1[] = {};
 alpha = 1.5 ; cte  = 0.;
 
 For i In{0:ndivlam/2-1}
-cte += alpha^i; 
+cte += alpha^i;
 EndFor
 
 a = T/2/cte;
@@ -204,7 +204,7 @@ EndFor
 bumpvector[]={bumpvector1[]};//Complete lamination
 For i In {0:ndivlam/2-1}
 If(i<ndivlam/2-1)
-bumpvector[ndivlam/2+i] = 
+bumpvector[ndivlam/2+i] =
 bumpvector[ndivlam/2+i-1]+ bumpvector[ndivlam/2-1-i]-bumpvector[ndivlam/2-2-i] ;
 EndIf
 
@@ -215,7 +215,7 @@ EndFor
 lvector[] ={lvector1[],lvector1[]};
 
 ldwn[]+= surflam0;//Watch Out: this is half a lamination
-vol[]= Extrude Surface { surflam0, {0,0,d/2}} {Layers {ndivlam/2,1} ; };;
+vol[]= Extrude  {0,0,d/2} { Surface { surflam0}; Layers {ndivlam/2,1} ; };
 vollam[] += vol[1];
 lup[] += news-1;
 lfront[]  += news-5 ;
@@ -224,7 +224,7 @@ lback[] += news-3 ;
 lleft[] += news-2 ;
 
 For i In {1:nlam-1}
-vol[] = Extrude Surface {news-1, {0,0,e}} {Layers {{ndive},{1}} ; };;
+vol[] = Extrude {0,0,e} {Surface {news-1}; Layers {{ndive},{1}} ; };
 voliso[]  += vol[1];
 lupi[]    += news-1 ;
 lfronti[] += news-5 ;
@@ -233,7 +233,7 @@ lbacki[]  += news-3 ;
 llefti[]  += news-2 ;
 
 ldwn[]+= news-1 ;
-vol[] = Extrude Surface { news-1, {0,0,d}} {Layers {lvector[],bumpvector[]} ; };;
+vol[] = Extrude {0,0,d} { Surface { news-1}; Layers {lvector[],bumpvector[]} ; };
 vollam[] += vol[1];
 lup[]    += news-1 ;
 lfront[] += news-5 ;
@@ -242,7 +242,7 @@ lback[]  += news-3 ;
 lleft[]  += news-2 ;
 EndFor
 
-vol[]=Extrude Surface { news-1, {0,0,e/2}} {Layers {{ndive},{1}} ; };;
+vol[]=Extrude {0,0,e/2} { Surface { news-1}; Layers {{ndive},{1}} ; };
 voliso[] += vol[1];
 lupi[]    += news-1 ;
 lfronti[]  += news-5 ;
@@ -264,7 +264,7 @@ EndIf
 
 If(HOMO)
 ldwn[]+= surflam0;//Watch Out: this is half a lamination
-vol[]= Extrude Surface { surflam0, {0,0,d/2+e}} {Layers {ndivlam_half,1} ; };;
+vol[]= Extrude {0,0,d/2+e} { Surface { surflam0}; Layers {ndivlam_half,1} ; };
 vollam[] += vol[1];
 lup[] += news-1;
 lfront[]  += news-5 ;
@@ -277,7 +277,7 @@ bumpvector[] = {1};
 
 For i In {1:nlam-2}
 ldwn[]+= news-1 ;
-vol[] = Extrude Surface { news-1, {0,0,d+e}} {Layers {lvector[],bumpvector[]} ; };;
+vol[] = Extrude {0,0,d+e} { Surface { news-1}; Layers {lvector[],bumpvector[]} ; };
 vollam[] += vol[1];
 lup[]    += news-1 ;
 lfront[] += news-5 ;
@@ -287,7 +287,7 @@ lleft[]  += news-2 ;
 EndFor
 
 ldwn[]+= news-1 ;
-vol[]=Extrude Surface { news-1, {0,0,d+e/2}} {Layers {{lvector[]},{bumpvector[]}} ; };;
+vol[]=Extrude {0,0,d+e/2} { Surface { news-1}; Layers {{lvector[]},{bumpvector[]}} ; };
 vollam[] += vol[1];
 lup[]    += news-1 ;
 lfront[] += news-5 ;
@@ -376,7 +376,7 @@ lairinf2 = newl ; Line(lairinf2) = {pb1,pb1_};
 lairinf3 = newl ; Line(lairinf3) = {pb2,pb2_};
 
 surfge0_1 = news ;
-Line Loop(surfge0_1) = 
+Line Loop(surfge0_1) =
 {lcutr1,-li4,-li3,-li2,lcutr2,cs3,-lcutl,-l2,-l1};
 Plane Surface(surfge0_1) = {surfge0_1};
 
@@ -385,7 +385,7 @@ Line Loop(surfge0_inf1) = {lairinf1,cs3_,-lairinf3,-cs3};
 Plane Surface(surfge0_inf1) = {surfge0_inf1};
 
 surfge0_2 = news ;
-Line Loop(surfge0_2) = 
+Line Loop(surfge0_2) =
 {laxe0,-(li4+4),-(li3+4),-(li2+4),laxe1,cs2,-lcutl,
 borderLeft[],(borderLeft[#borderLeft[]-1]-9)};
 Plane Surface(surfge0_2) = {surfge0_2};
@@ -396,7 +396,7 @@ Plane Surface(surfge0_inf2) = {surfge0_inf2};
 
 
 surfgh0_1 = news ;
-Line Loop(surfgh0_1) = 
+Line Loop(surfgh0_1) =
 {borderRight[],-(borderRight[#borderRight[]-1]-6),laxe0,-(li4+6),-lcutr1};
 Plane Surface(surfgh0_1) = {surfgh0_1};
 
@@ -418,14 +418,14 @@ Surface(surfinf_out) = {surfinf_out};
 
 
 If(!HOMO)
-Surface Loop(newsl) = 
+Surface Loop(newsl) =
 {skinind3,-surfge0_2,surfgh0_1,surfge0_1,
  lright[],lrighti[],lback[],lbacki[],lupi[#voliso[]-1],
 -surfinf_in,surfgh0_2,skinind1,skinind2};
 EndIf
 
 If(HOMO)
-Surface Loop(newsl) = 
+Surface Loop(newsl) =
 {skinind3,-surfge0_2,surfgh0_1,surfge0_1,
  lright[],lback[],lup[#vollam[]-1],
 -surfinf_in,surfgh0_2,skinind1,skinind2};
@@ -454,7 +454,7 @@ For i In {0:#vollam[]-1}
 EndFor
 Physical Volume(ISOLATION)  = {voliso[]};
 
-Physical Surface(SURFACEGE0) = 
+Physical Surface(SURFACEGE0) =
 {surfge0_1,surfge0_2,surfge0_inf1,surfge0_inf2, surflam0, lleft[],llefti[],surfind_,surfind};
 Physical Surface(CUTIND) = {lfront[],lfronti[],surfgh0_1};
 Physical Surface(SURFACEGH0) = {lfront[],lfronti[],symind,surfgh0_1,surfgh0_2,surfgh0_inf};
@@ -463,7 +463,7 @@ EndIf
 If(HOMO)
   Physical Volume (LAMINATION) = {vollam[]};
   Physical Surface(SKINLAM)    = {lup[#vollam[]-1],lright[],lback[]};
-  Physical Surface(SURFACEGE0) = 
+  Physical Surface(SURFACEGE0) =
 {surfge0_1,surfge0_2,surfge0_inf1,surfge0_inf2,surflam0,lleft[],surfind_,surfind};
 Physical Surface(CUTIND) = {lfront[],surfgh0_1};
 Physical Surface(SURFACEGH0) = {lfront[],symind,surfgh0_1,surfgh0_2,surfgh0_inf};
@@ -475,7 +475,7 @@ Physical Volume(AIRINF)  = {volairinf};
 Physical Volume(IND) = {volind};
 Physical Surface(SKININD) = {skinind1,skinind2,skinind3};
 Physical Surface(ELEC0) = {surfind};
- 
+
 Physical Surface(SURFACEGINF) = {surfinf_out};
 
 
diff --git a/benchmarks/3d/mem3D_wv2.geo b/benchmarks/3d/mem3D_wv2.geo
index b6958ca29b26af0f714711a42d3747f109bb7e3d..01628700843eae3e4badc604bdc797bc5aaef434 100644
--- a/benchmarks/3d/mem3D_wv2.geo
+++ b/benchmarks/3d/mem3D_wv2.geo
@@ -12,7 +12,7 @@ Lb = 205 * u ;
 Ls = 625 * u ;
 
 da = 80 * u ;
-t = 150 * u ; 
+t = 150 * u ;
 bc = 275 * u ;
 bb = 20 * u ;
 
@@ -35,8 +35,8 @@ gap = 3*u ;// 3*u
 // Shell for FEM
 lcs1 = 70 * u ;
 lcs2 = 90 * u ;
-R1 = 600 * u ; 
-R2 = 900 * u ; 
+R1 = 600 * u ;
+R2 = 900 * u ;
 
 Point(1) = { bc/2, Lc/2, 0, p0};
 Point(2) = { bc/2,-Lc/2, 0, p0};
@@ -45,7 +45,7 @@ Point(4) = {-bc/2, Lc/2, 0, p0};
 
 k = newp ;
 i = 0;kl = 1 ;
-For(1:4) 
+For(1:4)
 Point(k)   = { bc/2, Lc/2-3*w-i*(da+bb), 0, p1};
 Point(k+1) = { bc/2, Lc/2-3*w-bb-i*(da+bb), 0, p1};
 Point(k+2) = { -bc/2, Lc/2-3*w-i*(da+bb), 0, p1};
@@ -91,8 +91,8 @@ nl = 2 ;
 
 Transfinite Line {1:4, 9:12, 17:20, 25:28 } = p_beams;
 Transfinite Line {5:8,13:16, 21:24, 29:32 } = p_wbeams;
-Transfinite Line {34:38,40:44} = p_between ; 
-Transfinite Line {33,39} = p_width ; 
+Transfinite Line {34:38,40:44} = p_between ;
+Transfinite Line {33,39} = p_width ;
 
 Line Loop(45) = {4,-8,-3,7};
 Plane Surface(46) = {45};
@@ -131,7 +131,7 @@ Line(66) = {24,22};
 Line(67) = {31,29};
 Line(68) = {32,30};
 
-Transfinite Line {61:68} = p_width ; 
+Transfinite Line {61:68} = p_width ;
 
 Line Loop(69) = {44,-33,34,61};
 Plane Surface(70) = {69};
@@ -168,11 +168,11 @@ Color Turquoise {Surface{70:86:2};}
 volPlateINT[] = {} ;
 
 For i In {0:7}
-vol[] = Extrude Surface { 46+i*2, {0,0,d}} { Layers { {nl},  {1}} ; };;
+vol[] = Extrude {0,0,d} {Surface { 46+i*2}; Layers { {nl},  {1}} ; };
 volPlateINT[] += vol[1];
 EndFor
 For i In {0:8}
-vol[] = Extrude Surface { 70+i*2, {0,0,d}} { Layers { {nl},  {1}} ; };;
+vol[] = Extrude {0,0,d} {Surface { 70+i*2}; Layers { {nl},  {1}} ; };
 volPlateINT[] += vol[1];
 EndFor
 
@@ -188,15 +188,15 @@ Physical Surface(Sur_PlateINT) = {261,-60,84,82,403,239,-58,80,78,359,217,-56,76
 
 Physical Volume(PlateINT) = {volPlateINT[]};
 
-Sur_Beam1i = 101 ; 
-Sur_Beam2i = 102 ; 
-Sur_Beam3i = 103 ; 
-Sur_Beam4i = 104 ; 
+Sur_Beam1i = 101 ;
+Sur_Beam2i = 102 ;
+Sur_Beam3i = 103 ;
+Sur_Beam4i = 104 ;
 
 Pto_Beam1i1 = 111 ;
-Pto_Beam1i2 = 112 ; 
-Pto_Beam1i3 = 113 ; 
-Pto_Beam1i4 = 114 ; 
+Pto_Beam1i2 = 112 ;
+Pto_Beam1i3 = 113 ;
+Pto_Beam1i4 = 114 ;
 
 Pto_Beam2i1 = 121 ;
 Pto_Beam2i2 = 122 ;
@@ -238,15 +238,15 @@ Physical Point(Pto_Beam4i2)= {36} ;
 Physical Point(Pto_Beam4i3)= {68} ;
 Physical Point(Pto_Beam4i4)= {72} ;
 
-Sur_Beam1d = 201 ; 
-Sur_Beam2d = 202 ; 
-Sur_Beam3d = 203 ; 
-Sur_Beam4d = 204 ; 
+Sur_Beam1d = 201 ;
+Sur_Beam2d = 202 ;
+Sur_Beam3d = 203 ;
+Sur_Beam4d = 204 ;
 
 Pto_Beam1d1 = 211 ;
-Pto_Beam1d2 = 212 ; 
-Pto_Beam1d3 = 213 ; 
-Pto_Beam1d4 = 214 ; 
+Pto_Beam1d2 = 212 ;
+Pto_Beam1d3 = 213 ;
+Pto_Beam1d4 = 214 ;
 
 Pto_Beam2d1 = 221 ;
 Pto_Beam2d2 = 222 ;
@@ -319,7 +319,7 @@ Plane Surface(462) = {461};
 Transfinite Surface {462} = {204,201,202,203} ;
 
 nl2 = 1 ;
-vol[] = Extrude Surface { 462, {0,0,-td}} { Layers { {nl2}, {1}} ; };;
+vol[] = Extrude {0,0,-td} {Surface { 462}; Layers { {nl2}, {1}} ; };
 volDiel = vol[1];
 
 Diel = 2000 ;
@@ -332,7 +332,7 @@ Physical Surface (Sur_Diel) = {-1128,-462,-1120,-1124,-1132};
 //Color Coral {Surface{1128,462,1120,1124,1132}; }
 
 
-vol[] = Extrude Surface {1133, {0,0,-tin}} { Layers { {nl2}, {1}} ; };;
+vol[] = Extrude {0,0,-tin} {Surface {1133}; Layers { {nl2}, {1}} ; };
 volPlateIN = vol[1];
 
 PlateIN = 2200 ;
@@ -493,4 +493,3 @@ Air = 1000 ;
 Physical Volume (Air) = {2283};
 
 EndIf
-
diff --git a/benchmarks/3d/p19.geo b/benchmarks/3d/p19.geo
index d192ce955fa916d4cf235bc84f8978a03d488558..fc8e60e852616c4ea203f08c33c0828928f2c1c0 100644
--- a/benchmarks/3d/p19.geo
+++ b/benchmarks/3d/p19.geo
@@ -91,18 +91,17 @@ Plane Surface(29) = {28};
 Line Loop(30) = {11,12,25,24,23,22};
 Plane Surface(31) = {30};
 
-Extrude Surface{27, {0,0,hg} };
+Extrude {0,0,hg}{ Surface{27}; }
 Coherence;
 
-Extrude Surface{29, {0,0,hg} };
+Extrude {0,0,hg}{ Surface{29}; }
 Coherence;
 
-Extrude Surface{31, {0,0,hg} };
+Extrude {0,0,hg}{ Surface{31}; }
 Coherence;
 
-Extrude Surface {105, {0,0,hcav-hg} };
+Extrude {0,0,hcav-hg}{ Surface {105}; }
 Coherence;
 
-Extrude Surface {126, {0,0,hcav-hg} };
+Extrude {0,0,hcav-hg}{ Surface {126}; }
 Coherence;
-
diff --git a/benchmarks/3d/p20.geo b/benchmarks/3d/p20.geo
index 95b9dec2f8ece6ed4ccad986519437e69cbbae53..2d0a50b51a0e49779db4e26a56adbb3b7c772608 100644
--- a/benchmarks/3d/p20.geo
+++ b/benchmarks/3d/p20.geo
@@ -4,7 +4,7 @@
          |                 c4  |
          |   +-------------+   |
          |   | c3          +---+
-         +---+             c5  c6   
+         +---+             c5  c6
          c1  c2
 
 */
@@ -68,7 +68,7 @@ e1 = newreg;
 Line Loop (newreg) = {d1,d2,d3,d4,d5,d6,d7,d8};
 f1 = newreg;
 Plane Surface (f1) = {e1};
-Extrude Surface { f1, {D5,0.00000E+00, 0.00000E+00} };
+Extrude {D5,0.00000E+00, 0.00000E+00}{ Surface { f1}; }
 
 box1 = newp;
 Point(box1) = {Dx,Dy,Dz,lbox};
@@ -141,7 +141,7 @@ e2 = newreg;
 Line Loop (newreg) = {q1,q2,q3,q4};
 f2 = newreg;
 Surface (f2) = {e2};
-Extrude Surface { f2, {D6,0.00000E+00, 0.00000E+00} };
+Extrude {D6,0.00000E+00, 0.00000E+00}{ Surface { f2}; }
 
 DxInducteur = .005;
 DyInducteur = .01;
@@ -192,4 +192,4 @@ BFondDeLInducteur = newreg;
 Line Loop(BFondDeLInducteur) = {ll1,ll2,ll3,ll4,ll5,ll6,-ll7,ll8};
 FondDeLInducteur = newreg;
 Plane Surface(FondDeLInducteur) = {BFondDeLInducteur};
-Extrude Surface { FondDeLInducteur, {0,0,DzInducteur} };
+Extrude {0,0,DzInducteur}{ Surface { FondDeLInducteur}; }
diff --git a/benchmarks/3d/perforated1.geo b/benchmarks/3d/perforated1.geo
index 7c47512c9e869b216b060d424ac9074b928d8353..0376c4ee207938701b26a3ff5b0ffab4399e432e 100644
--- a/benchmarks/3d/perforated1.geo
+++ b/benchmarks/3d/perforated1.geo
@@ -116,7 +116,7 @@ EndIf
 nl_ec = 10 ;
 
 For n In {0:0}
-  vol[]=Extrude Surface { news-1, {0,0,1} , {0,0,0} , Phi } { Layers { nl_ec, 1 } ; };;
+vol[]=Extrude { {0,0,1} , {0,0,0} , Phi } { Surface { news-1}; Layers { nl_ec, 1 } ; };
   vEC[n]=vol[1];
 EndFor
 
@@ -140,7 +140,7 @@ ps1 = newp ; Point(ps1) = { x_ps, 0., 0, p_ps};
 ps2 = newp ; Point(ps2) = { x_ps, 0., h_ps/2, p_ps};
 lps  = newl; Line(lps)  = {ps1,ps2};
 
-sur[] = Extrude Line { lps, {0,0,1} , {0,0,0}, Phi };;
+sur[] = Extrude { {0,0,1} , {0,0,0}, Phi }{ Line { lps}; } ;
 sPSin[0] = sur[1];
 lps_ = sur[0];
 loopin = newl ; Line Loop(loopin) = {lps,sur[2],-sur[0],sur[3]};
@@ -253,17 +253,17 @@ la4 = newl ; Line(la4) = {p3,pa1};
 la5 = newl ; Line(la5) = {pa0,pa0_};
 la6 = newl ; Line(la6) = {pa1,pa1_};
 
-sur[] = Extrude Line { la1, {0,0,1} , {0,0,0}, Phi };;
+sur[] = Extrude { {0,0,1} , {0,0,0}, Phi }{ Line {la1}; };
 z0air0=sur[1];
 la1_=sur[0];
-sur[] = Extrude Line { la2, {0,0,1} , {0,0,0}, Phi };;
+sur[] = Extrude { {0,0,1} , {0,0,0}, Phi }{ Line {la2}; };
 z0air1=sur[1];
 la2_=sur[0];
 
 Line Loop(newl)={lblayer0,la3,lacir2,-la3_ };
 z0air2=news; Plane Surface(z0air2) = {newl-1};
 
-sur[] = Extrude Line { la5, {0,0,1} , {0,0,0}, Phi };;
+sur[] = Extrude { {0,0,1} , {0,0,0}, Phi }{ Line {la5}; };
 z0airinf=sur[1];
 la5_=sur[0];
 
diff --git a/benchmarks/3d/periodic.geo b/benchmarks/3d/periodic.geo
index f0cbc96243871ae038fbcb7aaad701ff9f076444..5c22577c60e4bc9a52d1865890460e5f61eb49bc 100644
--- a/benchmarks/3d/periodic.geo
+++ b/benchmarks/3d/periodic.geo
@@ -46,11 +46,11 @@ Physical Line(18) = {2,3};
 Physical Surface(19) = {15};
 
 If(use_prisms)
-  Extrude Surface {15, {0.,0.,2.*R}}{ Layers{nb_layers}; Recombine; };
+  Extrude {0.,0.,2.*R}{ Surface {15}; Layers{nb_layers}; Recombine; }
 EndIf
 
 If(!use_prisms)
-  Extrude Surface {15, {0.,0.,2.*R}};
+  Extrude {0.,0.,2.*R}{ Surface {15}; }
   Transfinite Line {27,55,1,59,23,43,4,39,21,34,3,35,25,51,2,47} = (nb_layers+1) Using Progression 1.;
   Transfinite Surface {52} = {16,14,33,37};
   Transfinite Surface {36} = {11,15,19,18};
diff --git a/benchmarks/3d/piece_explicit_volume.geo b/benchmarks/3d/piece_explicit_volume.geo
index 4cfabb8edccdbe35e70c10c5fba28ff15e91e94f..7771b5a517f7ff61a43574f0db04ca6ba1e73352 100644
--- a/benchmarks/3d/piece_explicit_volume.geo
+++ b/benchmarks/3d/piece_explicit_volume.geo
@@ -36,12 +36,12 @@ i = 0 ;
 
 For(1:4)
 
-  i+=1 ; 
+  i+=1 ;
 
   Rotate {{0.0,0.0,1.0},{0.0,0.0,0.0}, i*r} {
     Duplicata {
-      Line{1}; Line{2}; Line{3}; 
-      Line{4}; Line{5}; Line{6}; 
+      Line{1}; Line{2}; Line{3};
+      Line{4}; Line{5}; Line{6};
       Point{10};
     }
   }
@@ -79,13 +79,12 @@ Line Loop(48) = -{-2,-1,5,6,4,3,31,-26,-25,29,30,28,27,35,-20,-19,
   23,24,22,21,34,-14,-13,17,18,16,15,33,-8,-7,11,12,10,9,32};
 Plane Surface(49) = {48,46};
 
-Extrude Surface {47, {0,0,0.2}};
-Extrude Surface {49, {0,0,0.2}};
-Extrude Surface {91, {0,0,0.2}};
-Extrude Surface {47, {0,0,-0.2}};
+Extrude {0,0,0.2}{ Surface {47}; }
+Extrude {0,0,0.2}{ Surface {49}; }
+Extrude {0,0,0.2}{ Surface {91}; }
+Extrude {0,0,-0.2}{ Surface {47}; }
 
 Delete { Volume{1:4}; }
 
 Surface Loop(373) = {288,135,49,139,143,147,151,155,159,163,167,171,175,179,183,187,191,195,199,203,207,211,215,219,223,227,231,235,239,243,247,251,255,259,263,267,271,313,301,305,309,330,317,321,325,329,351,355,343,347,372,359,363,367,371,86,90,78,82};
 Volume(374) = {373};
-
diff --git a/benchmarks/3d/plate.geo b/benchmarks/3d/plate.geo
index 8968734b87739cb0451017a31caabe8c797c072f..f0ec7ce0f72c594c3699178d1f568655f1bcae0d 100644
--- a/benchmarks/3d/plate.geo
+++ b/benchmarks/3d/plate.geo
@@ -9,7 +9,7 @@ Line(3) = {3,2};
 Line(4) = {2,1};
 Line Loop(5) = {4,1,2,3};
 Plane Surface(6) = {5};
-Extrude Surface {6, {0,0,h}};
+Extrude {0,0,h}{ Surface {6}; }
 Characteristic Length {4,1,2,3} = 1;
 Surface Loop(29) = {28,15,6,19,23,27};
 Volume(30) = {29};
diff --git a/benchmarks/3d/runner_simple_3d.geo b/benchmarks/3d/runner_simple_3d.geo
index e08e33dda3eb1a879721540e363694618bdebc2f..380d73529474ff9e78e7f4683e70b9724ce10407 100644
--- a/benchmarks/3d/runner_simple_3d.geo
+++ b/benchmarks/3d/runner_simple_3d.geo
@@ -1,141 +1,130 @@
-/*simple runner for 3d-studies;  07.07.1999/hm*/  
-  
-  
-/*variables*/  
-r=0.004;  
-a=0.005;  
-b=0.005;  
-m=0.010;  
-mh=0.020;  
-  
-h1=0.005;  
-h2=0.005;  
-h3=0.005;  
-h4=0.005;  
-hl = 0.012;  
-f   =0.015;  
-l   =0.040;  
-  
-lc1 = 0.004;  
-  
-/*points*/  
-  
-Point(1) = {-r,0.0,0.0,lc1};  
-  
-Point(2) = {0,0.0,0.0,lc1};  
-  
-Point(3) = {+r,0.0,0.0,lc1};  
-Point(4) = {r+a,0.0,0.0,lc1};  
-Point(5) = {r+a+b,0.0,0.0,lc1};  
-Point(6) = {r+a+b,-h4,0.0,lc1};  
-  
-Point(11) = {-r,h1,0.0,lc1};  
-  
-Point(13) = {+r,h1,0.0,lc1};  
-Point(14) = {r+a,h2,0.0,lc1};  
-Point(15) = {r+a+b,h3,0.0,lc1};  
-  
-/*flange*/  
-  
-Point(25) = {r+a+b+f,0,0.0,lc1};  
-Point(26) = {r+a+b+f,h3,0.0,lc1};  
-Point(27) = {r+a+b+f,-h4,0.0,lc1};  
-Point(28) = {r+a+b+f,-hl,0.0,lc1};  
-  
-/*laminate*/  
-  
-Point(30) = {r+a+b+f+l,0.0,0.0,lc1};  
-Point(31) = {r+a+b+f+l,h3,0.0,lc1};  
-Point(32) = {r+a+b+f+l,-h4,0.0,lc1};  
-Point(33) = {r+a+b+f+l,-hl,0.0,lc1};  
-  
-/*lines*/  
-  
-Circle(100) = {1,2,3};  
-  
-Line(101) = {1,11};  
-Line(102) = {11,13};  
-Line(103) = {13,14};  
-Line(104) = {14,15};  
-Line(105) = {3,13};  
-Line(106) = {3,4};  
-Line(107) = {4,14};  
-Line(108) = {4,5};  
-Line(109) = {5,15};  
-  
-  
-  
-Line(110) = {15,26};  
-Line(111) = {5,25};  
-Line(112) = {6,27};  
-Line(113) = {5,6};  
-Line(114) = {26,25};  
-Line(115) = {25,27};  
-Line(116) = {26,31};  
-Line(117) = {25,30};  
-Line(118) = {27,32};  
-Line(119) = {31,30};  
-Line(120) = {30,32};  
-  
-Line(121) = {27,28};  
-Line(122) = {28,33};  
-Line(123) = {32,33};  
-  
-Line Loop(300) = {-102,-101,100,105};  
-Plane Surface(301) = {300};  
-Line Loop(400) = {107,-103,-105,106};  
-Plane Surface(401) = {400};  
-Line Loop(402) = {109,-104,-107,108};  
-Plane Surface(403) = {402};  
-  
-  
-Line Loop(404) = {-114,-110,-109,111};  
-Plane Surface(405) = {404};  
-Line Loop(406) = {-112,-113,111,115};  
-Plane Surface(407) = {406};  
-Line Loop(408) = {117,-119,-116,114};  
-Plane Surface(409) = {408};  
-Line Loop(410) = {118,-120,-117,115};  
-Plane Surface(411) = {410};  
-Line Loop(412) = {118,123,-122,-121};  
-Plane Surface(413) = {412};  
-  
-/*mould*/  
-  
-Point(511) = {-m,h1,0.0,lc1};  
-Point(512) = {-m,h1-mh,0.0,lc1};  
-Point(533) = {r+a+b+f+l,h1-mh,0.0,lc1};  
-  
-Line(614) = {511,512};  
-Line(615) = {511,11};  
-Line(616) = {512,533};  
-Line(617) = {533,33};  
-/*  
+/*simple runner for 3d-studies;  07.07.1999/hm*/
+
+
+/*variables*/
+r=0.004;
+a=0.005;
+b=0.005;
+m=0.010;
+mh=0.020;
+
+h1=0.005;
+h2=0.005;
+h3=0.005;
+h4=0.005;
+hl = 0.012;
+f   =0.015;
+l   =0.040;
+
+lc1 = 0.004;
+
+/*points*/
+
+Point(1) = {-r,0.0,0.0,lc1};
+
+Point(2) = {0,0.0,0.0,lc1};
+
+Point(3) = {+r,0.0,0.0,lc1};
+Point(4) = {r+a,0.0,0.0,lc1};
+Point(5) = {r+a+b,0.0,0.0,lc1};
+Point(6) = {r+a+b,-h4,0.0,lc1};
+
+Point(11) = {-r,h1,0.0,lc1};
+
+Point(13) = {+r,h1,0.0,lc1};
+Point(14) = {r+a,h2,0.0,lc1};
+Point(15) = {r+a+b,h3,0.0,lc1};
+
+/*flange*/
+
+Point(25) = {r+a+b+f,0,0.0,lc1};
+Point(26) = {r+a+b+f,h3,0.0,lc1};
+Point(27) = {r+a+b+f,-h4,0.0,lc1};
+Point(28) = {r+a+b+f,-hl,0.0,lc1};
+
+/*laminate*/
+
+Point(30) = {r+a+b+f+l,0.0,0.0,lc1};
+Point(31) = {r+a+b+f+l,h3,0.0,lc1};
+Point(32) = {r+a+b+f+l,-h4,0.0,lc1};
+Point(33) = {r+a+b+f+l,-hl,0.0,lc1};
+
+/*lines*/
+
+Circle(100) = {1,2,3};
+
+Line(101) = {1,11};
+Line(102) = {11,13};
+Line(103) = {13,14};
+Line(104) = {14,15};
+Line(105) = {3,13};
+Line(106) = {3,4};
+Line(107) = {4,14};
+Line(108) = {4,5};
+Line(109) = {5,15};
+
+
+
+Line(110) = {15,26};
+Line(111) = {5,25};
+Line(112) = {6,27};
+Line(113) = {5,6};
+Line(114) = {26,25};
+Line(115) = {25,27};
+Line(116) = {26,31};
+Line(117) = {25,30};
+Line(118) = {27,32};
+Line(119) = {31,30};
+Line(120) = {30,32};
+
+Line(121) = {27,28};
+Line(122) = {28,33};
+Line(123) = {32,33};
+
+Line Loop(300) = {-102,-101,100,105};
+Plane Surface(301) = {300};
+Line Loop(400) = {107,-103,-105,106};
+Plane Surface(401) = {400};
+Line Loop(402) = {109,-104,-107,108};
+Plane Surface(403) = {402};
+
+
+Line Loop(404) = {-114,-110,-109,111};
+Plane Surface(405) = {404};
+Line Loop(406) = {-112,-113,111,115};
+Plane Surface(407) = {406};
+Line Loop(408) = {117,-119,-116,114};
+Plane Surface(409) = {408};
+Line Loop(410) = {118,-120,-117,115};
+Plane Surface(411) = {410};
+Line Loop(412) = {118,123,-122,-121};
+Plane Surface(413) = {412};
+
+/*mould*/
+
+Point(511) = {-m,h1,0.0,lc1};
+Point(512) = {-m,h1-mh,0.0,lc1};
+Point(533) = {r+a+b+f+l,h1-mh,0.0,lc1};
+
+Line(614) = {511,512};
+Line(615) = {511,11};
+Line(616) = {512,533};
+Line(617) = {533,33};
+/*
 Line Loop(618) = {-617,-616,-614,615,-101,100,106,108,113,112,121,122,-617,-616,-614,615,-
-101,100,106,108,113,112};*/  
-  
-Line Loop(618) = {-617,-616,-614,615,-101,100,106,108,113,112,121,122};  
-Plane Surface(619) = {618};  
-  
+101,100,106,108,113,112};*/
+
+Line Loop(618) = {-617,-616,-614,615,-101,100,106,108,113,112,121,122};
+Plane Surface(619) = {618};
+
 ex = .05;
 
-Extrude Surface{619, {0.0,0.0,ex}};  
-Coherence;  
-Extrude Surface{301, {0.0,0.0,ex}};  
-Coherence;  
-Extrude Surface{401, {0.0,0.0,ex}};  
-Coherence;  
-Extrude Surface{403, {0.0,0.0,ex}};  
-Coherence;  
-Extrude Surface{405, {0.0,0.0,ex}};  
-Coherence;  
-Extrude Surface{407, {0.0,0.0,ex}};  
-Coherence;  
-Extrude Surface{409, {0.0,0.0,ex}};  
-Coherence;  
-Extrude Surface{411, {0.0,0.0,ex}};  
-Coherence;  
-Extrude Surface{413, {0.0,0.0,ex}};  
-Coherence;  
- 
- 
+Extrude {0.0,0.0,ex}{Surface{619};}  Coherence;
+Extrude {0.0,0.0,ex}{Surface{301};}  Coherence;
+Extrude {0.0,0.0,ex}{Surface{401};}  Coherence;
+Extrude {0.0,0.0,ex}{Surface{403};}  Coherence;
+Extrude {0.0,0.0,ex}{Surface{405};}  Coherence;
+Extrude {0.0,0.0,ex}{Surface{407};}  Coherence;
+Extrude {0.0,0.0,ex}{Surface{409};}  Coherence;
+Extrude {0.0,0.0,ex}{Surface{411};}  Coherence;
+Extrude {0.0,0.0,ex}{Surface{413};}  Coherence;
diff --git a/benchmarks/3d/sphere_in_cube_hexa.geo b/benchmarks/3d/sphere_in_cube_hexa.geo
index 5828d555b36aae5804e1d77cd285ab2ef5dd7739..d0a1841cdc79ff192320e5f26d2db85d8174d724 100644
--- a/benchmarks/3d/sphere_in_cube_hexa.geo
+++ b/benchmarks/3d/sphere_in_cube_hexa.geo
@@ -17,7 +17,7 @@ Line(3) = {4,5};
 Line(4) = {5,2};
 Line Loop(5) = {4,1,2,3};
 Plane Surface(6) = {5};
-Extrude Surface {6, {0.0,0.0,2*r1}};
+Extrude {0.0,0.0,2*r1}{ Surface {6}; }
 Delete { Volume{1}; }
 
 // interior sphere
diff --git a/benchmarks/3d/torsion3d.geo b/benchmarks/3d/torsion3d.geo
index 8ebe32ea347fc29eca65fcb3a874ada70bf4e96a..6ff528f9f2b694fe9d42e91bf95fe4ce9983ce21 100644
--- a/benchmarks/3d/torsion3d.geo
+++ b/benchmarks/3d/torsion3d.geo
@@ -96,7 +96,7 @@ Plane Surface(15) = {14};
 
 //Extruding geometry
 //----------------------------
-e[] = Extrude Surface {15, {1,0,0}, {x0,y0,z0}, Pi/2}; ;
-e[] = Extrude Surface {e[0], {1,0,0}, {x0,y0,z0}, Pi/2}; ;
-e[] = Extrude Surface {e[0], {1,0,0}, {x0,y0,z0}, Pi/2}; ;
-e[] = Extrude Surface {e[0], {1,0,0}, {x0,y0,z0}, Pi/2}; ;
+e[] = Extrude {{1,0,0}, {x0,y0,z0}, Pi/2}{Surface{15};} ;
+e[] = Extrude {{1,0,0}, {x0,y0,z0}, Pi/2}{Surface{e[0]};} ;
+e[] = Extrude {{1,0,0}, {x0,y0,z0}, Pi/2}{Surface{e[0]};} ;
+e[] = Extrude {{1,0,0}, {x0,y0,z0}, Pi/2}{Surface{e[0]};} ;
diff --git a/benchmarks/3d/transfinite_extrude.geo b/benchmarks/3d/transfinite_extrude.geo
index 92a46ea49491708af3df66be7297a7b04388d837..f127859e7666bf4d50347e970556b78297cca279 100644
--- a/benchmarks/3d/transfinite_extrude.geo
+++ b/benchmarks/3d/transfinite_extrude.geo
@@ -14,4 +14,4 @@ Transfinite Line{1:4} = n;
 Line Loop(5) = {4,1,2,3};
 Plane Surface(6) = {5};
 Transfinite Surface{6} = {2,3,4,5} Alternate;
-Extrude Surface {6, {0.0,0.0,r1/10}} { Layers{1,1};  }  ;
+Extrude {0.0,0.0,r1/10} { Surface {6}; Layers{1,1};  }
diff --git a/benchmarks/extrude/Forma_3DCube.geo b/benchmarks/extrude/Forma_3DCube.geo
index f72807654c1c659c29b51bf827ad4e4fb97aea52..fca598ff0dddbdf922499c82654461f7e4a9987c 100644
--- a/benchmarks/extrude/Forma_3DCube.geo
+++ b/benchmarks/extrude/Forma_3DCube.geo
@@ -12,28 +12,11 @@ Point(2) = {Rint, 0, 0, h};
 
 Line(1) = {1,2};
 
-Extrude Line {1,{0,1,0}, {0,0,0}, -Pi/2}
-             {Layers{10}; Recombine; };
-
-Extrude Line {2,{0,1,0}, {0,0,0}, -Pi/2}
-             {Layers{10}; Recombine; };
-
-
-Extrude Surface {5,{0,LG,0}}
-                {Layers{50}; Recombine;  };
-
-
-Extrude Surface {9,{0,LG,0}}
-                {Layers{50}; Recombine;  };
-
-
-
-Extrude Surface {31,{0,0,1}, {RC,LG,0}, -(Pi/2)}
-                {Recombine ; Layers{30}; };
-Extrude Surface {53,{0,0,1}, {RC,LG,0}, -(Pi/2)}
-                {Recombine ; Layers{30}; };
-
-Extrude Surface {75,{LG,0,0}}
-                {Recombine; Layers{50}; };
-Extrude Surface {97,{LG,0,0}}
-                {Recombine; Layers{50}; };
+Extrude { {0,1,0}, {0,0,0}, -Pi/2}{ Line {1}; Layers{10}; Recombine; }
+Extrude { {0,1,0}, {0,0,0}, -Pi/2}{ Line {2}; Layers{10}; Recombine; }
+Extrude {0,LG,0}{ Surface {5}; Layers{50}; Recombine; }
+Extrude {0,LG,0}{ Surface {9}; Layers{50}; Recombine; }
+Extrude { {0,0,1}, {RC,LG,0}, -(Pi/2)}{ Surface {31}; Recombine ; Layers{30}; }
+Extrude { {0,0,1}, {RC,LG,0}, -(Pi/2)}{ Surface {53}; Recombine ; Layers{30}; }
+Extrude {LG,0,0}{ Surface {75}; Recombine; Layers{50}; }
+Extrude {LG,0,0}{ Surface {97}; Recombine; Layers{50}; }
diff --git a/benchmarks/extrude/afpm.geo b/benchmarks/extrude/afpm.geo
index 64527cddc2577e7f453b831c817dd1181f0f66d2..32024d59770c96338ae7c370076203c672554558 100644
--- a/benchmarks/extrude/afpm.geo
+++ b/benchmarks/extrude/afpm.geo
@@ -20,15 +20,15 @@ EndFor
 
 For i In {0:6}
   For j In {0:9}
-    Extrude Line {num[i], {0,0,1}, {0,0,0}, t[j]*deg2rad}{Layers{1};Recombine;};
+    Extrude { {0,0,1}, {0,0,0}, t[j]*deg2rad}{ Line {num[i]}; Layers{1};Recombine;}
     num[i] = newreg-(i?3:2);
   EndFor
 EndFor
 
 For i In {1:70}
-  Extrude Surface {i, {0,0,0.005}}{Layers{1};Recombine;};
+  Extrude {0,0,0.005}{ Surface {i}; Layers{1};Recombine;}
   For j In {1:5}
-     Extrude Surface {news-1, {0,0,0.005}}{Layers{1};Recombine;};
+    Extrude {0,0,0.005}{ Surface {news-1}; Layers{1};Recombine;}
   EndFor
 EndFor
 
diff --git a/benchmarks/extrude/jonas.geo b/benchmarks/extrude/jonas.geo
index 50063a4c5501355ed94e567cc48d9cd4e9c43a9e..d84d37bd3978ecb867b0f19d3bfd23a2962f4a5d 100644
--- a/benchmarks/extrude/jonas.geo
+++ b/benchmarks/extrude/jonas.geo
@@ -132,62 +132,55 @@ Line(308) = {304,305};
 // Now begin creating the model
 
 For i In {2:9}
-
-Extrude Line {i, {0,face,0}} {
-  Layers {face/size_pend};
-  Recombine;
-};
-
-Extrude Line {i, {0,-face,0}} {
-  Layers {face/size_pend};
-  Recombine;
-};
-
+  Extrude {0,face,0} {
+    Line {i};
+    Layers {face/size_pend};
+    Recombine;
+  }
+  Extrude {0,-face,0} {
+    Line {i};
+    Layers {face/size_pend};
+    Recombine;
+  }
 EndFor
 
 For i In {102:109}
-
-Extrude Line {i, {0,0,1}, {-102+tx,203+ty,0+tz},
--Pi/2} {
-  Layers {arch/size_pend};
-  Recombine;
-};
-
-Extrude Line {i, {-depth,0,0}} {
-  Layers {depth/size_pend};
-  Recombine;
-};
-
+  Extrude {{0,0,1}, {-102+tx,203+ty,0+tz}, -Pi/2} {
+    Line {i};
+    Layers {arch/size_pend};
+    Recombine;
+  }
+  Extrude {-depth,0,0} {
+    Line {i};
+    Layers {depth/size_pend};
+    Recombine;
+  }
 EndFor
 
 For i In {202:209}
-
-Extrude Line {i, {0,0,1}, {-102+tx,-203+ty,0+tz},
-Pi/2} {
-  Layers {arch/size_pend};
-  Recombine;
-};
-
-Extrude Line {i, {-depth,0,0}} {
-  Layers {depth/size_pend};
-  Recombine;
-};
-
+  Extrude {{0,0,1}, {-102+tx,-203+ty,0+tz}, Pi/2} {
+    Line {i};
+    Layers {arch/size_pend};
+    Recombine;
+  }
+  Extrude {-depth,0,0} {
+    Line {i};
+    Layers {depth/size_pend};
+    Recombine;
+  }
 EndFor
 
 // Build beam
 
 For i In {301:308}
-
-Extrude Line {i, {0,0,1}, {cx+btx,bty,btz}, angle} {
-  Layers {barch/size_beam};
-  Recombine;
-};
-
-Extrude Line {i, {0,0,1}, {cx+btx,bty,btz}, -angle} {
-  Layers {barch/size_beam};
-  Recombine;
-};
-
+  Extrude {{0,0,1}, {cx+btx,bty,btz}, angle} {
+    Line {i};
+    Layers {barch/size_beam};
+    Recombine;
+  }
+  Extrude {{0,0,1}, {cx+btx,bty,btz}, -angle} {
+    Line {i};
+    Layers {barch/size_beam};
+    Recombine;
+  }
 EndFor
-
diff --git a/benchmarks/extrude/point.geo b/benchmarks/extrude/point.geo
index ea52872f68027d09a7fa4b286d6ec2b7066587e6..749e67112865b36adb28a2a3c571efc66eebf71f 100644
--- a/benchmarks/extrude/point.geo
+++ b/benchmarks/extrude/point.geo
@@ -3,23 +3,23 @@ lclev = L / 4;
 
 Point(1) = {0.0*L, 0.0*L,   0.0, lclev};
 
-Extrude Point {1, {L,0,0}}{ Layers { {5,10}, {0.7,1} } ; Recombine; };
-Extrude Line {1, {0,L/2,0}}{ Layers { {5,10}, {0.7,1} } ; Recombine;  };
-Extrude Surface {5, {0,0,L}}{ Layers { {5,10}, {0.7,1} } ; Recombine; };
+Extrude {L,0,0}{ Point {1}; Layers { {5,10}, {0.7,1} } ; Recombine; }
+Extrude {0,L/2,0}{ Line {1}; Layers { {5,10}, {0.7,1} } ; Recombine;  }
+Extrude {0,0,L}{ Surface {5}; Layers { {5,10}, {0.7,1} } ; Recombine; }
 
 Point(1000) = {1, 0, 0, lclev};
-Extrude Point {1000, {0,0,1} , {0.85,0,0} , -2*Pi/3 }{
-  Layers { {5,10}, {0.7,1} } ; Recombine; 
-};
-Extrude Point {1001, {0,0,1} , {0.85,0,0} , -2*Pi/3 }{
-  Layers { {5,10}, {0.7,1} } ; Recombine; 
-};
-Extrude Point {1003, {0,0,1} , {0.85,0,0} , -2*Pi/3 }{
-  Layers { {5,10}, {0.7,1} } ; Recombine; 
-};
+Extrude { {0,0,1} , {0.85,0,0} , -2*Pi/3 }{ Point {1000};
+  Layers { {5,10}, {0.7,1} } ; Recombine;
+}
+Extrude { {0,0,1} , {0.85,0,0} , -2*Pi/3 }{ Point {1001};
+  Layers { {5,10}, {0.7,1} } ; Recombine;
+}
+Extrude { {0,0,1} , {0.85,0,0} , -2*Pi/3 }{ Point {1003};
+  Layers { {5,10}, {0.7,1} } ; Recombine;
+}
 
 Line Loop(31) = {29,30,28};
 Plane Surface(32) = {31};
-Extrude Surface {32, {0,0,L/2}}{
-  Layers { {5,10}, {0.7,1} } ; Recombine; 
-};
+Extrude {0,0,L/2}{ Surface {32};
+  Layers { {5,10}, {0.7,1} } ; Recombine;
+}