diff --git a/assets/index-b34a13c3.js b/assets/index-64681331.js
similarity index 99%
rename from assets/index-b34a13c3.js
rename to assets/index-64681331.js
index 8151149..a9b76fa 100644
--- a/assets/index-b34a13c3.js
+++ b/assets/index-64681331.js
@@ -3600,11 +3600,13 @@ z1("1.0 047{10}")
In addition to the traditional tonnetz transformations, Ziffers implements cyclic methods that can be used to cycle through the tonnetz space. Cyclic methods turns individual pitch classes to chords using the tonnetz. The cyclic methods are:
-* hexaCycle(tonnetz: number[], repeats: number = 3): Cycles through chords in the hexa cycle
-* octaCycle(tonnetz: number[], repeats: number = 4): Cycles through chords in the octa cycle
-* enneaCycle(tonnetz: number[], repeats: number = 3): Cycles through chords in the ennea cycle
+* hexaCycle(tonnetz: number[], repeats: number = 3, components: number = 1): Cycles through chords via hexatonic cycles
+* octaCycle(tonnetz: number[], repeats: number = 4, components: number = 1): Cycles through chords via octatonic cycles
+* enneaCycle(tonnetz: number[], repeats: number = 3, components: number = 1): Cycles through chords via enneatonic cycles
-**HexaCycles** are sequences of major and minor triads generated by the p and l transformations . Let's take the following example starting with a C chord: C -> Cm -> Ab -> Abm -> E -> Em. You can start on the chord of your choice.
+:warning: By default, the number of graph components is set to 1. Therefore, these methods produce a single hexatonic, octatonic, and enneatonic cycle, respectively. OctaTowers were implemented in the same way, so it generates a single octatonic tower. Try increasing the number of components to obtain different graphs.
+
+**HexaCycles** are sequences of major and minor triads generated by the p and l transformations. Let's take the following example starting with a C chord: C -> Cm -> Ab -> Abm -> E -> Em. You can start on the chord of your choice.
**OctaCycles** are sequences of major and minor triads generated using p and r transformations. Starting at C, we have the following sequence: C -> Cm -> Eb -> Ebm -> F# -> F#m -> A -> Am.
@@ -3663,7 +3665,7 @@ In addition to the cyclical traversing methods, Ziffers implements traversing me
* weitzmannRegions(tonnetz: number[]): Cycles through chords in a Weitzmann region
* boretzRegions(tonnetz: number[]): Cycles through chords in a Boretz region
-* octaTowers(tonnetz: number[], repeats: number = 3): Cycles through chords using the octaTowers
+* octaTowers(tonnetz: number[], repeats: number = 3, components: number = 1): Cycles through chords using the octaTowers
* cubeDance(tonnetz: number[], repeats: number = 3): Cycles through chords in a Cube Dance
* powerTowers(tonnetz: number[], repeats: number = 3): Cycles through chords using the Power Towers
@@ -3671,11 +3673,11 @@ In addition to the cyclical traversing methods, Ziffers implements traversing me
**Boretz Regions** is the four-note analogue of the Weitzmann regions. Richard Cohn draws them in **Boretz Spiders**, a graph consisting of 8 feet between 7th and half-diminished 7th chords. The body (prosoma-opisthosoma) is a dim7 chord, related to the others by a semitonal movement.
-**OctaTowers** is a graph composed of **12** chords, whose types are halfdim7, m7 and 7. A reading from left to right in an ascending diagonal has been chosen.
+**OctaTowers** generates a graph composed of **12** chords, whose types are halfdim7, m7 and 7. A reading from left to right in an ascending diagonal has been chosen. Note that changing the number of components to 3 will obtain the complete graph (**36** chords).
-**Cube Dance** is another graph of **28** chords that is built primarily with HexaCycles, except that it adds augmented triads as assemblers. As with Power Towers, one possible path has been selected.
+**Cube Dance** is another graph of **28** chords that is built primarily with HexaCycles (4 hexatonic cycles), except that it adds augmented triads as assemblers. As with Power Towers, one possible path has been selected.
-**Power Towers** use **39** four-note chords (halfdim7, m7 and 7). As you can notice, it is composed of 3 OctaTowers assembled by dim7 type chords. One of the many paths for succession has been chosen.
+**Power Towers** use **39** four-note chords (halfdim7, m7 and 7). As you can notice, it is composed of OctaTowers (3 octatonic towers) assembled by dim7 type chords. One of the many paths for succession has been chosen.
As you have noticed, all these graphs usually have many chords, so sometimes it will be convenient to slice up fragments of the cycles. We encourage you to explore these methods and their different parameters. The tonnetz traversing methods can be used in combination with the Ziffers generative methods to sequence, arpeggiate and to randomize the chords in different ways.
@@ -3707,7 +3709,7 @@ z1("1/4 2").powerTowers([2,3,7])
${e("Between an OctaTower",`
z1("s. 0")
- .octaTowers()
+ .octaTower()
.between(2,8)
.arpeggio(3,2,1,rI(1,5))
.sound("sawtooth")
diff --git a/assets/index-64681331.js.gz b/assets/index-64681331.js.gz
new file mode 100644
index 0000000..6214afa
Binary files /dev/null and b/assets/index-64681331.js.gz differ
diff --git a/assets/index-b34a13c3.js.gz b/assets/index-b34a13c3.js.gz
deleted file mode 100644
index 80abc76..0000000
Binary files a/assets/index-b34a13c3.js.gz and /dev/null differ
diff --git a/index.html b/index.html
index c52e97b..5ae9abd 100644
--- a/index.html
+++ b/index.html
@@ -15,7 +15,7 @@
-
+