diff --git a/demos/boolean/thrusections.geo b/demos/boolean/thrusections.geo
index c932ab2211c439f479a48f267b82b290e8bf8a77..a56d948f72e2193dbdffa0d4df60ee54ab9787db 100644
--- a/demos/boolean/thrusections.geo
+++ b/demos/boolean/thrusections.geo
@@ -5,54 +5,52 @@ Mesh.CharacteristicLengthMin = 0.1;
 Mesh.CharacteristicLengthMax = 0.1;
 
 // build volume through (closed) line loops
-Disk(1) = {0,0,0, 0.2};
-Disk(2) = {0.1,0.04,1, 0.3};
-Disk(3) = {0.03,-0.08,2, 0.25};
+Circle(1) = {0,0,0, 0.2};
+Circle(2) = {0.1,0.04,1, 0.3};
+Circle(3) = {0.03,-0.08,2, 0.25};
 For i In {1:3}
-  Line Loop(i) = Boundary{ Surface{i}; };
-  Delete { Surface{i}; }
+  Line Loop(i) = i;
 EndFor
 ThruSections(1) = {1:3};
 
-Disk(4) = {1,0,0, 0.2};
-Disk(5) = {1.1,0.04,1, 0.3};
-Disk(6) = {1.03,-0.08,2, 0.25};
+Circle(4) = {1,0,0, 0.2};
+Circle(5) = {1.1,0.04,1, 0.3};
+Circle(6) = {1.03,-0.08,2, 0.25};
 For i In {4:6}
-  Line Loop(i) = Boundary{ Surface{i}; };
-  Delete { Surface{i}; }
+  Line Loop(i) = i;
 EndFor
 Ruled ThruSections(2) = {4:6};
 
 // build surfaces through (closed) line loops
-Disk(7) = {2,0,0, 0.2};
-Disk(8) = {2.1,0.04,1, 0.3};
-Disk(9) = {2.03,-0.08,2, 0.25};
+Circle(7) = {2,0,0, 0.2};
+Circle(8) = {2.1,0.04,1, 0.3};
+Circle(9) = {2.03,-0.08,2, 0.25};
 For i In {7:9}
-  Line Loop(i) = Boundary{ Surface{i}; };
-  Delete { Surface{i}; }
+  Line Loop(i) = i;
 EndFor
-a() = ThruSections{7:9};
+ThruSections{7:9}
 
-Disk(10) = {3,0,0, 0.2};
-Disk(11) = {3.1,0.04,1, 0.3};
-Disk(12) = {3.03,-0.08,2, 0.25};
+Circle(10) = {3,0,0, 0.2};
+Circle(11) = {3.1,0.04,1, 0.3};
+Circle(12) = {3.03,-0.08,2, 0.25};
 For i In {10:12}
-  Line Loop(i) = Boundary{ Surface{i}; };
-  Delete { Surface{i}; }
+  Line Loop(i) = i;
 EndFor
-b() = Ruled ThruSections{10:12}; // builds ruled surfaces
+Ruled ThruSections{10:12}
 
-// build surfaces through wires
-n = 100;
-Point(n+1) = {0,-2,0};
-Point(n+2) = {0.5,-1.5,0};
-Point(n+3) = {0,-1.5,0};
-Circle(n+1) = {n+1,n+3,n+2};
-Point(n+4) = {0,-2,1};
-Point(n+5) = {0.7,-1.3,1};
-Point(n+6) = {0,-1.3,1};
-Circle(n+2) = {n+4,n+6,n+5};
+// build surfaces through (open) wires
+Circle(13) = {4,0,0, 0.2, Pi/3};
+Circle(14) = {4.1,0.04,1, 0.3, Pi/2};
+Circle(15) = {4.03,-0.08,2, 0.25, Pi/3};
+For i In {13:15}
+  Wire(i) = i;
+EndFor
+ThruSections{13:15}
 
-Wire(n+1) = {n+1};
-Wire(n+2) = {n+2};
-c() = ThruSections{n+1,n+2};
+Circle(16) = {5,0,0, 0.2, Pi/3};
+Circle(17) = {5.1,0.04,1, 0.3, Pi/2};
+Circle(18) = {5.03,-0.08,2, 0.25, Pi/3};
+For i In {16:18}
+  Wire(i) = i;
+EndFor
+Ruled ThruSections{16:18}