function init(cube) {
    // whole cube
    cube().on();

    // all x from 0 to cube.x - 3 - 1 -> whole
    cube({x: range(cube.x - 3)}).on();

    // all x = 3, y = 7 (z is free)
    cube({x: 3, y: 7}).on();

    // all x = 3, y = [2, 7] (z is free)
    cube({x: 3, y: [2, 7]}).on();

    // specific led
    cube({x: 2, y: 4, z: 1}).on();
    cube([2, 4, 1]).on();
    cube(2, 4, 1).on();

    // multiple specific leds
    cube([{x: 1, y: 2, z: 3}, {x: 4, y: 5, z: 6}]).on();
    cube([[1, 2, 3], [4, 5, 6]]);
}

@@ -23,39 +23,217 @@
     
-// whole cube%0A    cube().on();%0A
+var demo = 0;%0A%0A    cube().off();%0A    %5BwholeCube, twoFreedoms, oneFreedom, oneFreedomTwoYs, specificLed, multipleLeds%5D%5Bdemo%5D(cube);%0A%7D%0A%0Afunction wholeCube(cube) %7B%0A    cube().on();%0A%7D%0A%0Afunction twoFreedoms(cube) %7B
 %0A   
@@ -307,32 +307,62 @@
 .x - 3)%7D).on();%0A
+%7D%0A%0Afunction oneFreedom(cube) %7B
 %0A    // all x = 
@@ -403,32 +403,67 @@
 3, y: 7%7D).on();%0A
+%7D%0A%0Afunction oneFreedomTwoYs(cube) %7B
 %0A    // all x = 
@@ -526,28 +526,39 @@
 ();%0A
-%0A    // specific led
+%7D%0A%0Afunction specificLed(cube) %7B
 %0A   
@@ -599,23 +599,23 @@
   cube(%5B
-2, 4, 1
+3, 5, 2
 %5D).on();
@@ -628,23 +628,23 @@
 ube(
-2, 4, 1
+4, 6, 3
 ).on();%0A
 %0A   
@@ -643,38 +643,40 @@
 ();%0A
-%0A    // multiple specific leds
+%7D%0A%0Afunction multipleLeds(cube) %7B
 %0A   
@@ -744,29 +744,34 @@
 e(%5B%5B
-1, 2
+3, 3
 , 3%5D, %5B
-4, 5
+6, 6
 , 6%5D%5D)
+.on()
 ;%0A%7D%0A

Improve basic selector example