aboutsummaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
authorHans-Christoph Steiner <eighthave@users.sourceforge.net>2010-04-03 20:24:12 +0000
committerHans-Christoph Steiner <eighthave@users.sourceforge.net>2010-04-03 20:24:12 +0000
commit69cf1cafcd403331d9fbfb76977efb6101eef284 (patch)
tree2a0f342ff22e90a70b78021125095143b5e8421f /examples
parentc421f5cd012261b1f14e0e2a804faea2e596d89c (diff)
converted to template Makefile
svn path=/trunk/externals/pmpd/; revision=13366
Diffstat (limited to 'examples')
-rw-r--r--examples/00_pmpd.pd48
-rw-r--r--examples/01_basics.pd754
-rw-r--r--examples/02_string.pd288
-rw-r--r--examples/03_chaos2D.pd180
-rw-r--r--examples/04_3D_exemple.pd71
-rw-r--r--examples/05_corde2D.pd452
-rw-r--r--examples/06_pyramide3D.pd249
-rw-r--r--examples/07_corde3D.pd601
-rw-r--r--examples/08_ball2D.pd315
-rw-r--r--examples/09_tutorial2D.pd269
-rw-r--r--examples/10_game.pd908
-rw-r--r--examples/11_comportement.pd774
-rw-r--r--examples/12_exitation.pd1838
-rw-r--r--examples/13_plane3D.pd460
-rw-r--r--examples/14_MP_curve3d.pd471
-rw-r--r--examples/15_constant_force_field.pd283
-rw-r--r--examples/16_name_and_interactors.pd148
-rw-r--r--examples/17_rnd_mouvmnt_and_obstacles.pd74
-rw-r--r--examples/18_flipper.pd265
-rw-r--r--examples/19_vertex.pd107
-rw-r--r--examples/20_moving_vertex.pd117
-rw-r--r--examples/21_fluid_circulation_cylinder.pd199
-rw-r--r--examples/22_gaz_molecules.pd204
-rw-r--r--examples/23_test.pd339
-rw-r--r--examples/24_sand.pd140
-rw-r--r--examples/25_sand2.pd232
-rw-r--r--examples/26_sand3.pd234
-rw-r--r--examples/27_tLia.pd874
-rw-r--r--examples/28_Lia.pd108
-rw-r--r--examples/29_aglom.pd104
-rw-r--r--examples/30_falling_aglom.pd167
-rw-r--r--examples/31_paste.pd206
-rw-r--r--examples/32_Kelvin_Helmoltz_instability.pd160
-rw-r--r--examples/33_vorticity_ellipse.pd369
-rw-r--r--examples/34_cigarette_smoke.pd326
-rw-r--r--examples/35_gravitation.pd74
-rw-r--r--examples/36_3D_interactors.pd781
-rw-r--r--examples/37_hollywood_planette_explosion.pd480
-rw-r--r--examples/38_elastique_membrane_on_a_sphere.pd1413
-rw-r--r--examples/39_blob.pd696
-rw-r--r--examples/40_i3D.pd214
-rw-r--r--examples/41_morfing.pd265
-rw-r--r--examples/42_tentacule.pd453
-rw-r--r--examples/43_game.pd1251
-rw-r--r--examples/44_flag.pd806
-rw-r--r--examples/45_newWave.pd784
-rw-r--r--examples/46_non_linear.pd191
-rw-r--r--examples/47_scann_synth.pd1379
-rw-r--r--examples/48_pmpd.pd93
-rw-r--r--examples/49_pmpd~.pd140
-rw-r--r--examples/50-simple_oscilator~.pd212
-rw-r--r--examples/51_string~.pd138
-rw-r--r--examples/aglom.pd43
-rw-r--r--examples/aglom2.pd43
-rw-r--r--examples/aglom3.pd23
-rw-r--r--examples/aglom4.pd24
-rw-r--r--examples/blob.pd105
-rw-r--r--examples/ch_gemwin.pd170
-rw-r--r--examples/ch_uzi.pd22
-rw-r--r--examples/constructor.pd773
-rw-r--r--examples/explose1.pd24
-rw-r--r--examples/explose2.pd26
-rw-r--r--examples/fluide_mass.pd34
-rw-r--r--examples/fluide_mass2.pd138
-rw-r--r--examples/fluide_mass3.pd17
-rw-r--r--examples/fluide_mass4.pd30
-rw-r--r--examples/fluide_mass5.pd66
-rw-r--r--examples/fluide_mass6.pd17
-rw-r--r--examples/fluide_masse.pd34
-rw-r--r--examples/fluide_masse2.pd138
-rw-r--r--examples/fluide_masse3.pd17
-rw-r--r--examples/fluide_masse4.pd30
-rw-r--r--examples/fluide_masse5.pd66
-rw-r--r--examples/fluide_masse6.pd17
-rw-r--r--examples/game_line.pd70
-rw-r--r--examples/gemLia.pd21
-rw-r--r--examples/gemLia2.pd10
-rw-r--r--examples/gemMasse.pd18
-rw-r--r--examples/gemMasse2.pd12
-rw-r--r--examples/gemMasse3.pd27
-rw-r--r--examples/i3D.pd21
-rw-r--r--examples/i3D2.pd83
-rw-r--r--examples/mass_link.pd82
-rw-r--r--examples/mass_link2.pd24
-rw-r--r--examples/mass_link3.pd90
-rw-r--r--examples/mountain.pd156
-rw-r--r--examples/pd_lia.pd19
-rw-r--r--examples/pd_lia2.pd19
-rw-r--r--examples/pd_link.pd19
-rw-r--r--examples/pd_link2.pd19
-rw-r--r--examples/pd_mass.pd44
-rw-r--r--examples/pd_mass2.pd15
-rw-r--r--examples/pd_masse.pd46
-rw-r--r--examples/pd_masse2.pd15
-rw-r--r--examples/rain.pd16
-rw-r--r--examples/rain1.pd16
-rw-r--r--examples/sand.pd30
-rw-r--r--examples/smoke.pd55
-rw-r--r--examples/smoke1.pd32
-rw-r--r--examples/smoke_vortex.pd41
-rw-r--r--examples/tut_link.pd19
-rw-r--r--examples/tut_mass.pd15
-rw-r--r--examples/tut_masse.pd15
-rw-r--r--examples/vortex.pd26
-rw-r--r--examples/vortex2.pd53
105 files changed, 24689 insertions, 0 deletions
diff --git a/examples/00_pmpd.pd b/examples/00_pmpd.pd
new file mode 100644
index 0000000..09aa952
--- /dev/null
+++ b/examples/00_pmpd.pd
@@ -0,0 +1,48 @@
+#N canvas 103 346 433 279 10;
+#X obj 17 29 pmpd;
+#X text 64 28 this object load the pmpd lib in memory.;
+#X text 17 54 you are ready to try the exemples patchs. Please do not
+run 2 exemples in the same time (somes use same send and receive name).
+;
+#N canvas 0 0 297 347 cpu 0;
+#X obj 118 168 cputime;
+#X obj 118 28 loadbang;
+#X obj 118 112 metro 1000;
+#X msg 118 56 1;
+#X floatatom 118 84 0 0 0 0 - - -;
+#X obj 118 140 t b b;
+#X obj 118 228 * 0.1;
+#X obj 118 197 int;
+#X text 163 84 <-- on/off;
+#X text 163 228 CPU load in percent;
+#X obj 118 252 outlet;
+#X connect 0 0 7 0;
+#X connect 1 0 3 0;
+#X connect 2 0 5 0;
+#X connect 3 0 4 0;
+#X connect 4 0 2 0;
+#X connect 5 0 0 0;
+#X connect 5 1 0 1;
+#X connect 6 0 10 0;
+#X connect 7 0 6 0;
+#X restore 104 219 pd cpu;
+#X floatatom 104 240 5 0 0 0 - - -;
+#X text 17 175 for big patch : look at the cpu used \, you have to
+reduce the simulation speed if your computer is to slow.;
+#X text 17 132 exemples are the files begginig with xx_name. xx is
+a number. others files are abstractions used by this examples.;
+#X obj 25 215 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#N canvas 0 0 454 304 open 0;
+#X obj 21 63 stripdir;
+#X obj 21 40 openpanel;
+#X msg 21 88 \; pd open \$1 ./ 1 1 \;;
+#X obj 22 17 inlet;
+#X connect 0 0 2 0;
+#X connect 1 0 0 0;
+#X connect 3 0 1 0;
+#X restore 25 236 pd open;
+#X text 17 106 gem v0.90 is neaded. it's the only dependency of the
+exemples;
+#X connect 3 0 4 0;
+#X connect 7 0 8 0;
diff --git a/examples/01_basics.pd b/examples/01_basics.pd
new file mode 100644
index 0000000..1b47745
--- /dev/null
+++ b/examples/01_basics.pd
@@ -0,0 +1,754 @@
+#N canvas 207 120 515 653 12;
+#X text 66 243 physical modeling for pure data using a collection of
+physical ojects.;
+#X obj 8 250 pmpd;
+#N canvas 0 0 623 384 read 0;
+#X text 412 312 ch20031213;
+#X text 30 25 The aim of this collection of objects is to create physical
+behavior with pure data. It's not audio synthesis. But it can be used
+for the creation of parameters that can be used for driving an audio
+or video synthesis.;
+#X text 30 101 Most of the examples use GEM \, to allow visualization
+of the "physical" geometry \, but you don't need it to use this collection.
+;
+#X text 30 161 any comments \, criticism \, suggestions \, help would
+be highly apreciated :;
+#X text 28 240 informations can be find :;
+#X text 122 263 http://drpichon.free.fr/pmpd/;
+#X text 123 207 ch@chdh.net;
+#X restore 69 296 pd read me first;
+#N canvas 0 0 663 567 basics 0;
+#X text 34 30 Object in this collection can be mass \, link and interactor
+\, in 1D \, 2D or 3D.;
+#X text 47 69 Masses (mass \, mass2D \, mass3D) are ponctual. They've
+got a weight \, and know their position. They can move when they receive
+a force \, acording to physical rules.;
+#X text 47 126 Link (link \, link2D \, link3D) are the basic interaction
+beetween 2 masss. It is a visco-elastic link. The link object receive
+the position of 2 masss \, compute the force beetween the 2 masss and
+output a force for each mass.;
+#X text 47 202 Interactors are a kind of link \, but influence a group
+of masss at once. They can be used for global interaction. We will
+look further into it later.;
+#X text 32 272 This collection of objects can be interconnected for
+the creation of "physical" structures. Such structures can then move
+\, and distord themselves \, according to forces applied to them.;
+#X text 29 350 The resulting movements are very natural \, due to the
+physical equations used to define the objects.;
+#X restore 69 324 pd basics;
+#N canvas 434 60 645 737 global_description 0;
+#X obj 34 169 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 34 268 print;
+#X obj 34 217 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X text 57 165 1;
+#X text 58 216 2;
+#X text 36 452 Here is the basic connection beetween 2 masss :;
+#X obj 40 591 link;
+#X text 36 529 You can also create things like this :;
+#X text 32 23 For patching simplification \, objects in this collection
+only have "cold" inlets. The computation speed depends on an external
+metronome. This metronome should bang alternatively all links in the
+model and then masss of the model.;
+#X text 33 103 mass and link have a name corresponding to their class
+name. They will receive everything sent to this name.;
+#X text 159 236 clicking on bang 1 or 2 is equivalent;
+#X text 32 304 As you sould send a bang alternatively to links and
+masss \, you sould give diferent names to the links group and masss
+group.;
+#X text 36 361 Masses output their position when you bang them. This
+position depends on the forces applied to the mass.;
+#X text 36 401 Links output a force according to the position of the
+masss when you bang them. This force sould be applied to the same mass.
+;
+#X text 40 626 The mass1 will never receive forces \, so it will never
+move. It is useful for creating a structure attached to a fixed point.
+;
+#X obj 40 558 mass mass1;
+#X obj 76 591 mass mass2;
+#X obj 110 489 mass;
+#X obj 156 489 link;
+#X obj 195 489 mass;
+#X obj 34 188 s foo1;
+#X obj 34 237 mass2D foo1;
+#X connect 0 0 20 0;
+#X connect 2 0 21 0;
+#X connect 6 1 16 0;
+#X connect 15 0 6 0;
+#X connect 16 0 6 1;
+#X connect 17 0 18 0;
+#X connect 18 0 17 0;
+#X connect 18 1 19 0;
+#X connect 19 0 18 1;
+#X connect 21 0 1 0;
+#X restore 69 353 pd global_description;
+#N canvas 0 0 762 661 test 0;
+#X msg 108 98 1;
+#X msg 74 98 0;
+#X msg 41 98 -1;
+#X msg 141 98 2;
+#X obj 15 16 loadbang;
+#X floatatom 41 169 5 0 0 0 - - -;
+#X msg 106 390 1;
+#X msg 72 390 0;
+#X msg 39 390 -1;
+#X msg 139 390 2;
+#X floatatom 39 461 5 0 0 0 - - -;
+#X floatatom 37 325 5 0 0 0 - - -;
+#X msg 106 508 1;
+#X msg 72 508 0;
+#X msg 39 508 -1;
+#X msg 139 508 2;
+#X floatatom 39 579 5 0 0 0 - - -;
+#X text 247 61 A force to a mass make it to move at a constant speed.
+You can accelerate it or decelerate it using message box. a nul force
+as no effect.;
+#X floatatom 172 267 5 0 0 0 - - -;
+#X msg 104 264 1;
+#X msg 70 264 0;
+#X msg 37 264 -1;
+#X msg 137 264 2;
+#X text 247 405 Viscosity link : the force is proportinal to the deformation
+speed of the link;
+#X text 249 265 Rigidity link : the force is proportional to the elongation
+of the link. (the right inlet is not used \, so the like take is defauld
+value : 0.) Lengh of the link is null.;
+#X text 238 529 Visco-elasic link : the effect is the somme of the
+2 previus link.;
+#X obj 15 69 s foo2;
+#X obj 41 142 mass foo2 10 0 0;
+#X obj 37 298 link foo2 0 0.1 0;
+#X obj 39 434 link foo2 0 0 0.1;
+#X obj 39 552 link foo2 0 0.1 0.1;
+#X obj 15 43 metro 300;
+#X connect 0 0 27 0;
+#X connect 1 0 27 0;
+#X connect 2 0 27 0;
+#X connect 3 0 27 0;
+#X connect 4 0 31 0;
+#X connect 6 0 29 0;
+#X connect 7 0 29 0;
+#X connect 8 0 29 0;
+#X connect 9 0 29 0;
+#X connect 12 0 30 0;
+#X connect 13 0 30 0;
+#X connect 14 0 30 0;
+#X connect 15 0 30 0;
+#X connect 18 0 28 0;
+#X connect 19 0 28 0;
+#X connect 20 0 28 0;
+#X connect 21 0 28 0;
+#X connect 22 0 28 0;
+#X connect 27 0 5 0;
+#X connect 28 0 11 0;
+#X connect 29 0 10 0;
+#X connect 30 0 16 0;
+#X connect 31 0 26 0;
+#X restore 71 474 pd test;
+#N canvas 394 231 879 595 simple_exemple 0;
+#X obj 356 237 vsl 15 128 0 127 0 0 empty empty empty 0 -8 0 8 -262144
+-1 -1 0 0;
+#X obj 74 98 hradio 15 1 0 5 empty empty empty 0 -6 0 8 -262144 -1
+-1 0;
+#N canvas 477 25 445 299 preset 0;
+#X msg 36 193 setK 0.05 \, setD 0 \, setD2 30;
+#X msg 55 166 setK 1 \, setD 0 \, setD2 30;
+#X msg 75 138 setK 1 \, setD 0 \, setD2 200;
+#X obj 36 16 inlet;
+#X obj 115 254 outlet;
+#X msg 95 108 setK 300 \, setD 300 \, setD2 5;
+#X obj 36 43 sel 2 1 0 3 4;
+#X msg 115 78 setK 3000 \, setD 1000 \, setD2 5000;
+#X connect 0 0 4 0;
+#X connect 1 0 4 0;
+#X connect 2 0 4 0;
+#X connect 3 0 6 0;
+#X connect 5 0 4 0;
+#X connect 6 0 0 0;
+#X connect 6 1 1 0;
+#X connect 6 2 2 0;
+#X connect 6 3 5 0;
+#X connect 6 4 7 0;
+#X connect 7 0 4 0;
+#X restore 74 119 pd preset;
+#X obj 336 237 vsl 15 128 0 127 0 0 empty empty empty 0 -8 0 8 -262144
+-1 -1 0 0;
+#X text 80 415 the mass is link to the cursor with diferents kinf of
+linkison (see the preset);
+#X text 71 18 comportement of a single mass link to a fixed point with
+a visco elastic link.;
+#X text 173 95 <- diferents comportement of the link;
+#N canvas 0 0 268 186 stuff 0;
+#X obj 13 20 loadbang;
+#X obj 48 97 s \$0-link;
+#X obj 13 72 t b b;
+#X obj 13 123 s \$0-mass;
+#X obj 13 45 metro 5;
+#X obj 89 20 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X msg 124 92 reset;
+#X msg 89 66 resetL \, resetF;
+#X obj 89 40 t b b;
+#X connect 0 0 4 0;
+#X connect 2 0 3 0;
+#X connect 2 1 1 0;
+#X connect 4 0 2 0;
+#X connect 5 0 8 0;
+#X connect 6 0 3 0;
+#X connect 7 0 1 0;
+#X connect 8 0 7 0;
+#X connect 8 1 6 0;
+#X restore 75 65 pd stuff;
+#X text 98 346 click or move the slider ->;
+#X text 396 346 look at the mouvement of the mass (the right slider)
+;
+#X text 80 481 surch system can be usefull for replacing the line object
+of pd when more natural evolution is neaded...;
+#X obj 169 167 link \$0-link 0 1 0 200;
+#X obj 356 167 mass \$0-mass 10000 0;
+#X connect 1 0 2 0;
+#X connect 2 0 11 0;
+#X connect 3 0 11 0;
+#X connect 11 1 12 0;
+#X connect 12 0 0 0;
+#X connect 12 0 11 1;
+#X restore 71 501 pd simple_exemple;
+#X text 95 389 look at mass and link help file :;
+#X obj 96 407 mass;
+#X obj 96 437 link;
+#N canvas 108 97 450 634 list 0;
+#X obj 190 135 iAmbient2D;
+#X obj 305 137 iAmbient3D;
+#X obj 190 166 iCircle2D;
+#X obj 306 257 iCylinder3D;
+#X obj 305 227 iCircle3D;
+#X obj 190 196 iLine2D;
+#X obj 305 197 iPlane3D;
+#X obj 190 225 iSeg2D;
+#X obj 305 168 iSphere3D;
+#X obj 192 75 link2D;
+#X obj 306 75 link3D;
+#X obj 79 76 link;
+#X obj 79 48 mass;
+#X obj 192 48 mass2D;
+#X obj 306 48 mass3D;
+#X text 78 25 1D;
+#X text 191 27 2D;
+#X text 304 28 3D;
+#X text 21 46 basic;
+#X text 19 136 interactors;
+#X text 24 328 test;
+#X obj 192 327 tLink2D;
+#X obj 307 327 tLink3D;
+#X obj 192 389 tCircle2D;
+#X obj 192 419 tLine2D;
+#X obj 192 448 tSeg2D;
+#X obj 305 480 tCylinder3D;
+#X obj 306 420 tPlane3D;
+#X obj 306 450 tCircle3D;
+#X obj 306 390 tSphere3D;
+#X obj 192 358 tSquare2D;
+#X obj 307 359 tCube3D;
+#X text 21 579 other;
+#X obj 190 579 pmpd;
+#X obj 308 578 pmpd~;
+#X restore 71 531 pd list of pmpd's object;
+#X obj 10 200 cnv 15 15 15 Ma1 M1 empty 2 10 0 14 -1 -66577 0;
+#X obj 24 185 cnv 15 15 15 Ma3 M3 empty 2 10 0 14 -1 -66577 0;
+#X obj 39 172 cnv 15 15 15 Ma5 M5 empty 2 10 0 14 -1 -66577 0;
+#X obj 79 200 cnv 15 15 15 Ma9 M9 empty 2 10 0 14 -1 -66577 0;
+#X obj 183 200 cnv 15 15 15 empty M29 empty 2 10 0 14 -1 -66577 0;
+#X obj 120 200 cnv 15 15 15 Ma2 M2 empty 2 10 0 14 -1 -66577 0;
+#X obj 120 160 cnv 15 15 15 Ma4 M4 empty 2 10 0 14 -1 -66577 0;
+#X obj 99 170 cnv 15 15 15 Ma6 M6 empty 2 10 0 14 -1 -66577 0;
+#X obj 79 160 cnv 15 15 15 Ma8 M8 empty 2 10 0 14 -1 -66577 0;
+#X obj 119 180 cnv 15 15 15 Ma11 M11 empty 2 10 0 14 -1 -66577 0;
+#X obj 79 180 cnv 15 15 15 Ma12 M12 empty 2 10 0 14 -1 -66577 0;
+#X obj 184 172 cnv 15 15 15 Ma14 M14 empty 2 10 0 14 -1 -66577 0;
+#X obj 198 187 cnv 15 15 15 Ma13 M13 empty 2 10 0 14 -1 -66577 0;
+#X obj 169 185 cnv 15 15 15 Ma15 M15 empty 2 10 0 14 -1 -66577 0;
+#X obj 239 180 cnv 15 15 15 empty M30 empty 2 10 0 14 -1 -66577 0;
+#X obj 260 160 cnv 15 15 15 Ma20 M20 empty 2 10 0 14 -1 -66577 0;
+#X obj 259 180 cnv 15 15 15 Ma17 M17 empty 2 10 0 14 -1 -66577 0;
+#X obj 239 200 cnv 15 15 15 Ma19 M19 empty 2 10 0 14 -1 -66577 0;
+#X obj 259 200 cnv 15 15 15 Ma18 M18 empty 2 10 0 14 -1 -66577 0;
+#N canvas 0 0 470 320 pmpd 0;
+#X obj 7 196 s mass;
+#X obj 32 168 s link;
+#X msg 143 132 reset;
+#X obj 7 70 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1;
+#X obj 7 88 metro 50;
+#N canvas 154 59 1126 757 structure 0;
+#N canvas 0 0 478 328 mass1 0;
+#X obj 79 57 inlet;
+#X obj 79 195 outlet;
+#X msg 79 110 \; M1 pos \$1 \$2 \;;
+#X obj 79 84 mass2D mass 1 10 50 0 1000 0 200;
+#X connect 0 0 3 0;
+#X connect 3 0 2 0;
+#X connect 3 0 1 0;
+#X restore 14 253 pd mass1;
+#N canvas 0 0 470 320 mass3 0;
+#X obj 79 57 inlet;
+#X obj 79 195 outlet;
+#X msg 79 110 \; M3 pos \$1 \$2 \;;
+#X obj 79 84 mass2D mass 1 10 30 0 1000 0 200;
+#X connect 0 0 3 0;
+#X connect 3 0 2 0;
+#X connect 3 0 1 0;
+#X restore 23 143 pd mass3;
+#N canvas 0 0 474 324 mass5 0;
+#X obj 79 57 inlet;
+#X obj 79 195 outlet;
+#X msg 79 110 \; M5 pos \$1 \$2 \;;
+#X obj 78 84 mass2D mass 1 10 10 0 1000 0 200;
+#X connect 0 0 3 0;
+#X connect 3 0 2 0;
+#X connect 3 0 1 0;
+#X restore 26 58 pd mass5;
+#N canvas 0 0 472 322 mass7 0;
+#X obj 79 57 inlet;
+#X obj 79 195 outlet;
+#X msg 79 110 \; M7 pos \$1 \$2 \;;
+#X obj 79 84 mass2D mass 1 30 10 0 1000 0 200;
+#X connect 0 0 3 0;
+#X connect 3 0 2 0;
+#X connect 3 0 1 0;
+#X restore 324 62 pd mass7;
+#X obj 132 -19 r G;
+#X obj 17 215 link2D link 10 0.8;
+#X obj 20 180 link2D link 10 0.8 0 0.1;
+#X obj 163 213 link2D link 12 0.8;
+#X obj 18 96 link2D link 10 0.8 0 0.1;
+#N canvas 0 0 494 344 mass2 0;
+#X obj 79 57 inlet;
+#X obj 100 154 outlet;
+#X msg 79 110 \; M2 pos \$1 \$2 \;;
+#X obj 79 84 mass2D mass 1 120 50 0 1000 0 200;
+#X connect 0 0 3 0;
+#X connect 3 0 2 0;
+#X connect 3 0 1 0;
+#X restore 486 317 pd mass2;
+#N canvas 0 0 486 336 mass4 0;
+#X obj 79 57 inlet;
+#X obj 79 195 outlet;
+#X msg 79 110 \; M4 pos \$1 \$2 \;;
+#X obj 79 84 mass2D mass 1 120 10 0 1000 0 200;
+#X connect 0 0 3 0;
+#X connect 3 0 2 0;
+#X connect 3 0 1 0;
+#X restore 503 33 pd mass4;
+#N canvas 0 0 484 334 mass6 0;
+#X obj 79 57 inlet;
+#X obj 79 195 outlet;
+#X msg 79 110 \; M6 pos \$1 \$2 \;;
+#X obj 78 84 mass2D mass 1 100 20 0 1000 0 200;
+#X connect 0 0 3 0;
+#X connect 3 0 2 0;
+#X connect 3 0 1 0;
+#X restore 640 109 pd mass6;
+#N canvas 0 0 482 332 mass8 0;
+#X obj 79 57 inlet;
+#X obj 79 195 outlet;
+#X msg 80 110 \; M8 pos \$1 \$2 \;;
+#X obj 79 84 mass2D mass 1 80 10 0 1000 0 200;
+#X connect 0 0 3 0;
+#X connect 3 0 2 0;
+#X connect 3 0 1 0;
+#X restore 767 36 pd mass8;
+#N canvas 0 0 484 334 mass9 0;
+#X obj 79 57 inlet;
+#X obj 79 195 outlet;
+#X msg 79 110 \; M9 pos \$1 \$2 \;;
+#X obj 78 84 mass2D mass 1 80 50 0 1000 0 200;
+#X connect 0 0 3 0;
+#X connect 3 0 2 0;
+#X connect 3 0 1 0;
+#X restore 722 335 pd mass9;
+#N canvas 0 0 484 334 mass11 0;
+#X obj 79 57 inlet;
+#X obj 79 195 outlet;
+#X msg 79 110 \; M11 pos \$1 \$2 \;;
+#X obj 78 84 mass2D mass 1 120 30 0 1000 0 200;
+#X connect 0 0 3 0;
+#X connect 3 0 2 0;
+#X connect 3 0 1 0;
+#X restore 490 216 pd mass11;
+#N canvas 0 0 484 334 mass12 0;
+#X obj 79 57 inlet;
+#X obj 79 195 outlet;
+#X msg 79 110 \; M12 pos \$1 \$2 \;;
+#X obj 78 84 mass2D mass 1 80 30 0 1000 0 200;
+#X connect 0 0 3 0;
+#X connect 3 0 2 0;
+#X connect 3 0 1 0;
+#X restore 821 226 pd mass12;
+#X obj 497 -9 r G;
+#X msg 499 9 force2D 0 0.1;
+#X obj 486 266 link2D link 12 0.3 0.1;
+#X obj 691 281 link2D link 12 0.3 0.1;
+#X obj 676 192 link2D link 12 0.3;
+#X obj 665 154 link2D link 12 0.3;
+#X obj 531 185 link2D link 12 0.3;
+#X obj 509 157 link2D link 12 0.3;
+#X obj 469 131 link2D link 12 0.3 0.1;
+#X obj 737 109 link2D link 12 0.3 0.1;
+#X obj 592 45 link2D link 12 0.3;
+#X obj 570 315 link2D link 12 0.3;
+#X msg 132 7 force2D 0 0.3;
+#X obj 636 214 link2D link 12 0.3;
+#N canvas 0 0 488 338 mass1 0;
+#X obj 79 57 inlet;
+#X obj 79 195 outlet;
+#X msg 79 110 \; M16 pos \$1 \$2 \;;
+#X obj 79 84 mass2D mass 1 170 50 0 1000 0 200;
+#X connect 0 0 3 0;
+#X connect 3 0 2 0;
+#X connect 3 0 1 0;
+#X restore 18 610 pd mass1;
+#N canvas 0 0 476 326 mass3 0;
+#X obj 79 57 inlet;
+#X obj 79 195 outlet;
+#X msg 79 110 \; M15 pos \$1 \$2 \;;
+#X obj 79 84 mass2D mass 1 170 30 0 1000 0 200;
+#X connect 0 0 3 0;
+#X connect 3 0 2 0;
+#X connect 3 0 1 0;
+#X restore 27 500 pd mass3;
+#N canvas 0 0 482 332 mass5 0;
+#X obj 79 57 inlet;
+#X obj 79 195 outlet;
+#X msg 79 110 \; M14 pos \$1 \$2 \;;
+#X obj 78 84 mass2D mass 1 170 10 0 1000 0 200;
+#X connect 0 0 3 0;
+#X connect 3 0 2 0;
+#X connect 3 0 1 0;
+#X restore 30 415 pd mass5;
+#N canvas 0 0 480 330 mass7 0;
+#X obj 79 57 inlet;
+#X obj 79 195 outlet;
+#X msg 79 109 \; M13 pos \$1 \$2 \;;
+#X obj 79 84 mass2D mass 1 190 10 0 1000 0 200;
+#X connect 0 0 3 0;
+#X connect 3 0 2 0;
+#X connect 3 0 1 0;
+#X restore 363 409 pd mass7;
+#X obj 46 316 r G;
+#X obj 21 572 link2D link 10 0.8;
+#X obj 24 537 link2D link 10 0.8 0 0.1;
+#X obj 160 570 link2D link 12 0.8;
+#X obj 29 458 link2D link 10 0.8 0 0.1;
+#X msg 46 342 force2D 0 0.3;
+#N canvas 0 0 500 350 mass1 0;
+#X obj 79 57 inlet;
+#X obj 79 195 outlet;
+#X msg 98 115 \; M20 pos \$1 \$2 \;;
+#X obj 79 83 mass2D mass 1 260 10 0 1000 0 200;
+#X connect 0 0 3 0;
+#X connect 3 0 2 0;
+#X connect 3 0 1 0;
+#X restore 533 628 pd mass1;
+#N canvas 0 0 482 332 mass3 0;
+#X obj 79 57 inlet;
+#X obj 79 195 outlet;
+#X msg 79 110 \; M17 pos \$1 \$2 \;;
+#X obj 79 84 mass2D mass 1 260 30 0 1000 0 200;
+#X connect 0 0 3 0;
+#X connect 3 0 2 0;
+#X connect 3 0 1 0;
+#X restore 542 518 pd mass3;
+#N canvas 0 0 484 334 mass5 0;
+#X obj 79 57 inlet;
+#X obj 79 195 outlet;
+#X msg 79 110 \; M18 pos \$1 \$2 \;;
+#X obj 78 84 mass2D mass 1 260 50 0 1000 0 200;
+#X connect 0 0 3 0;
+#X connect 3 0 2 0;
+#X connect 3 0 1 0;
+#X restore 545 433 pd mass5;
+#N canvas 217 191 484 334 mass7 0;
+#X obj 79 57 inlet;
+#X obj 79 195 outlet;
+#X msg 79 109 \; M19 pos \$1 \$2 \;;
+#X obj 79 84 mass2D mass 1 240 50 0 1000 0 200;
+#X connect 0 0 3 0;
+#X connect 3 0 2 0;
+#X connect 3 0 1 0;
+#X restore 856 420 pd mass7;
+#X obj 561 376 r G;
+#X obj 536 590 link2D link 10 0.8;
+#X obj 539 555 link2D link 10 0.8 0 0.1;
+#X obj 675 588 link2D link 12 0.8;
+#X obj 544 476 link2D link 10 0.8 0 0.1;
+#X msg 561 402 force2D 0 0.3;
+#X obj 669 75 link2D link 12 0.5 0.1;
+#X obj 494 242 link2D link 12 0.5;
+#X obj 665 237 link2D link 12 0.5;
+#X obj 485 74 link2D link 12 0.5 0.1;
+#N canvas 0 0 476 326 mass8 0;
+#X obj 79 57 inlet;
+#X obj 79 195 outlet;
+#X obj 79 84 mass2D mass 1 30 30 0 1000 0 200;
+#X msg 103 110 \; M28 pos \$1 \$2 \;;
+#X connect 0 0 2 0;
+#X connect 2 0 3 0;
+#X connect 2 0 1 0;
+#X restore 347 153 pd mass8;
+#X obj 251 101 link2D link 10 0.8 0 0.1;
+#X obj 139 47 link2D link 10 0.8;
+#X obj 143 73 link2D link 14 0.6;
+#X obj 146 126 link2D link 14 0.6;
+#X obj 160 154 link2D link 10 0.8;
+#X obj 148 410 link2D link 10 0.8;
+#X obj 144 433 link2D link 14 0.6;
+#X obj 141 504 link2D link 10 0.8;
+#X obj 144 480 link2D link 14 0.6;
+#N canvas 0 0 484 334 mass7 0;
+#X obj 79 57 inlet;
+#X obj 79 195 outlet;
+#X msg 79 109 \; M29 pos \$1 \$2 \;;
+#X obj 79 86 mass2D mass 1 190 30 0 1000 0 200;
+#X connect 0 0 3 0;
+#X connect 3 0 2 0;
+#X connect 3 0 1 0;
+#X restore 341 492 pd mass7;
+#X obj 251 453 link2D link 10 0.8 0 0.1;
+#N canvas 217 191 486 336 mass7 0;
+#X obj 79 57 inlet;
+#X obj 79 195 outlet;
+#X obj 79 84 mass2D mass 1 240 30 0 1000 0 200;
+#X msg 77 109 \; M30 pos \$1 \$2 \;;
+#X connect 0 0 2 0;
+#X connect 2 0 3 0;
+#X connect 2 0 1 0;
+#X restore 840 522 pd mass7;
+#X obj 690 430 link2D link 10 0.8;
+#X obj 678 519 link2D link 10 0.8;
+#X obj 683 493 link2D link 14 0.6;
+#X obj 689 451 link2D link 14 0.6;
+#X obj 740 471 link2D link 10 0.8 0 0.1;
+#X connect 0 0 5 1;
+#X connect 0 0 6 1;
+#X connect 0 0 7 0;
+#X connect 1 0 6 0;
+#X connect 1 0 8 1;
+#X connect 1 0 57 0;
+#X connect 1 0 59 0;
+#X connect 2 0 5 0;
+#X connect 2 0 8 0;
+#X connect 2 0 56 0;
+#X connect 2 0 58 0;
+#X connect 3 0 7 1;
+#X connect 3 0 55 0;
+#X connect 3 0 56 1;
+#X connect 3 0 57 1;
+#X connect 4 0 28 0;
+#X connect 5 0 2 0;
+#X connect 5 1 0 0;
+#X connect 6 0 1 0;
+#X connect 6 1 0 0;
+#X connect 7 0 0 0;
+#X connect 7 1 3 0;
+#X connect 8 0 2 0;
+#X connect 8 1 1 0;
+#X connect 9 0 18 1;
+#X connect 9 0 23 0;
+#X connect 9 0 27 0;
+#X connect 9 0 51 0;
+#X connect 10 0 20 0;
+#X connect 10 0 21 0;
+#X connect 10 0 24 1;
+#X connect 10 0 26 0;
+#X connect 10 0 53 0;
+#X connect 11 0 50 0;
+#X connect 11 0 51 1;
+#X connect 11 0 52 0;
+#X connect 11 0 53 1;
+#X connect 12 0 22 1;
+#X connect 12 0 23 1;
+#X connect 12 0 25 1;
+#X connect 12 0 26 1;
+#X connect 12 0 50 1;
+#X connect 13 0 19 0;
+#X connect 13 0 21 1;
+#X connect 13 0 27 1;
+#X connect 13 0 52 1;
+#X connect 14 0 18 0;
+#X connect 14 0 22 0;
+#X connect 14 0 24 0;
+#X connect 14 0 29 0;
+#X connect 15 0 19 1;
+#X connect 15 0 20 1;
+#X connect 15 0 25 0;
+#X connect 15 0 29 1;
+#X connect 16 0 17 0;
+#X connect 17 0 14 0;
+#X connect 17 0 10 0;
+#X connect 17 0 12 0;
+#X connect 17 0 9 0;
+#X connect 17 0 13 0;
+#X connect 17 0 11 0;
+#X connect 17 0 15 0;
+#X connect 18 0 14 0;
+#X connect 18 1 9 0;
+#X connect 19 0 13 0;
+#X connect 19 1 15 0;
+#X connect 20 0 10 0;
+#X connect 20 1 15 0;
+#X connect 21 0 10 0;
+#X connect 21 1 13 0;
+#X connect 22 0 14 0;
+#X connect 22 1 12 0;
+#X connect 23 0 9 0;
+#X connect 23 1 12 0;
+#X connect 24 0 14 0;
+#X connect 24 1 10 0;
+#X connect 25 0 15 0;
+#X connect 25 1 12 0;
+#X connect 26 0 10 0;
+#X connect 26 1 12 0;
+#X connect 27 0 9 0;
+#X connect 27 1 13 0;
+#X connect 28 0 2 0;
+#X connect 28 0 1 0;
+#X connect 28 0 0 0;
+#X connect 28 0 3 0;
+#X connect 28 0 54 0;
+#X connect 29 0 14 0;
+#X connect 29 1 15 0;
+#X connect 30 0 35 1;
+#X connect 30 0 36 1;
+#X connect 30 0 37 0;
+#X connect 31 0 36 0;
+#X connect 31 0 38 1;
+#X connect 31 0 61 0;
+#X connect 31 0 62 0;
+#X connect 32 0 35 0;
+#X connect 32 0 38 0;
+#X connect 32 0 60 0;
+#X connect 32 0 63 0;
+#X connect 33 0 37 1;
+#X connect 33 0 60 1;
+#X connect 33 0 61 1;
+#X connect 33 0 65 0;
+#X connect 34 0 39 0;
+#X connect 35 0 32 0;
+#X connect 35 1 30 0;
+#X connect 36 0 31 0;
+#X connect 36 1 30 0;
+#X connect 37 0 30 0;
+#X connect 37 1 33 0;
+#X connect 38 0 32 0;
+#X connect 38 1 31 0;
+#X connect 39 0 32 0;
+#X connect 39 0 31 0;
+#X connect 39 0 30 0;
+#X connect 39 0 33 0;
+#X connect 39 0 64 0;
+#X connect 40 0 45 1;
+#X connect 40 0 46 1;
+#X connect 40 0 47 0;
+#X connect 41 0 46 0;
+#X connect 41 0 48 1;
+#X connect 41 0 68 0;
+#X connect 41 0 70 0;
+#X connect 42 0 45 0;
+#X connect 42 0 48 0;
+#X connect 42 0 67 0;
+#X connect 42 0 69 0;
+#X connect 43 0 47 1;
+#X connect 43 0 67 1;
+#X connect 43 0 70 1;
+#X connect 43 0 71 0;
+#X connect 44 0 49 0;
+#X connect 45 0 42 0;
+#X connect 45 1 40 0;
+#X connect 46 0 41 0;
+#X connect 46 1 40 0;
+#X connect 47 0 40 0;
+#X connect 47 1 43 0;
+#X connect 48 0 42 0;
+#X connect 48 1 41 0;
+#X connect 49 0 42 0;
+#X connect 49 0 41 0;
+#X connect 49 0 40 0;
+#X connect 49 0 43 0;
+#X connect 49 0 66 0;
+#X connect 50 0 11 0;
+#X connect 50 1 12 0;
+#X connect 51 0 9 0;
+#X connect 51 1 11 0;
+#X connect 52 0 11 0;
+#X connect 52 1 13 0;
+#X connect 53 0 10 0;
+#X connect 53 1 11 0;
+#X connect 54 0 55 1;
+#X connect 54 0 58 1;
+#X connect 54 0 59 1;
+#X connect 55 0 3 0;
+#X connect 55 1 54 0;
+#X connect 56 0 2 0;
+#X connect 56 1 3 0;
+#X connect 57 0 1 0;
+#X connect 57 1 3 0;
+#X connect 58 0 2 0;
+#X connect 58 1 54 0;
+#X connect 59 0 1 0;
+#X connect 59 1 54 0;
+#X connect 60 0 32 0;
+#X connect 60 1 33 0;
+#X connect 61 0 31 0;
+#X connect 61 1 33 0;
+#X connect 62 0 31 0;
+#X connect 62 1 64 0;
+#X connect 63 0 32 0;
+#X connect 63 1 64 0;
+#X connect 64 0 62 1;
+#X connect 64 0 63 1;
+#X connect 64 0 65 1;
+#X connect 65 0 33 0;
+#X connect 65 1 64 0;
+#X connect 66 0 68 1;
+#X connect 66 0 69 1;
+#X connect 66 0 71 1;
+#X connect 67 0 42 0;
+#X connect 67 1 43 0;
+#X connect 68 0 41 0;
+#X connect 68 1 66 0;
+#X connect 69 0 42 0;
+#X connect 69 1 66 0;
+#X connect 70 0 41 0;
+#X connect 70 1 43 0;
+#X connect 71 0 43 0;
+#X connect 71 1 66 0;
+#X restore 121 193 pd structure;
+#X msg 118 157 resetL \, resetF;
+#X obj 7 112 t b b;
+#X obj 42 135 s G;
+#X obj 118 110 t b b;
+#X obj 116 66 inlet;
+#X obj 62 24 loadbang;
+#X obj 30 66 delay 3000;
+#X connect 2 0 0 0;
+#X connect 3 0 4 0;
+#X connect 4 0 7 0;
+#X connect 6 0 1 0;
+#X connect 7 0 0 0;
+#X connect 7 1 1 0;
+#X connect 7 1 8 0;
+#X connect 9 0 6 0;
+#X connect 9 1 2 0;
+#X connect 10 0 9 0;
+#X connect 11 0 9 0;
+#X connect 11 0 12 0;
+#X connect 12 0 4 0;
+#X restore 9 597 pd pmpd;
+#X obj 9 575 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 1 216 cnv 10 500 10 empty empty empty 20 12 0 14 -99865 -66577
+0;
+#X obj 53 187 cnv 15 15 15 Ma7 M7 empty 2 10 0 14 -1 -66577 0;
+#X obj 38 200 cnv 15 15 15 empty M28 empty 2 10 0 14 -1 -66577 0;
+#X obj 155 200 cnv 15 15 15 Ma16 M16 empty 2 10 0 14 -1 -66577 0;
+#X connect 31 0 30 0;
diff --git a/examples/02_string.pd b/examples/02_string.pd
new file mode 100644
index 0000000..1b9d4ca
--- /dev/null
+++ b/examples/02_string.pd
@@ -0,0 +1,288 @@
+#N canvas 45 79 1309 802 12;
+#X obj 379 253 vsl 15 128 0 127 0 0 empty empty empty 0 -8 0 8 -262144
+-1 -1 4141 1;
+#X obj 397 253 vsl 15 128 0 127 0 0 empty empty empty 0 -8 0 8 -262144
+-1 -1 4972 1;
+#X obj 415 253 vsl 15 128 0 127 0 0 empty empty empty 0 -8 0 8 -262144
+-1 -1 5574 1;
+#X obj 433 253 vsl 15 128 0 127 0 0 empty empty empty 0 -8 0 8 -262144
+-1 -1 5821 1;
+#X obj 451 253 vsl 15 128 0 127 0 0 empty empty empty 0 -8 0 8 -262144
+-1 -1 5596 1;
+#X obj 469 253 vsl 15 128 0 127 0 0 empty empty empty 0 -8 0 8 -262144
+-1 -1 4879 1;
+#X obj 361 253 vsl 15 128 0 127 0 0 empty empty empty 0 -8 0 8 -262144
+-1 -1 3200 1;
+#X obj 9 35 metro 10;
+#X obj 9 10 loadbang;
+#X text 138 362 move the first slider ->;
+#X text 570 368 <- or the last one;
+#X text 268 11 This is the first exemple of physical modeling;
+#X text 268 33 this is an elastic string;
+#X obj 487 253 vsl 15 128 0 127 0 0 empty empty empty 0 -8 0 8 -262144
+-1 -1 3757 1;
+#X obj 505 253 vsl 15 128 0 127 0 0 empty empty empty 0 -8 0 8 -262144
+-1 -1 2400 1;
+#X obj 9 62 t b b;
+#X obj 44 87 s \$0-link;
+#X obj 9 113 s \$0-mass;
+#X text 158 95 <- metronome send bangs to mass and link and gives the
+general computation speed;
+#X text 135 409 all the slider are "link" together with a link. slider
+got a mass so they have inertial.;
+#X obj 3 196 link \$0-link 0 1 1;
+#X obj 151 196 link \$0-link 0 1 1;
+#X obj 300 196 link \$0-link 0 1 1;
+#X obj 449 196 link \$0-link 0 1 1;
+#X obj 599 196 link \$0-link 0 1 1;
+#X obj 747 196 link \$0-link 0 1 1;
+#X obj 896 196 link \$0-link 0 1 1;
+#X obj 1045 196 link \$0-link 0 1 1;
+#X obj 146 172 mass \$0-mass 30;
+#X obj 294 171 mass \$0-mass 30;
+#X obj 444 172 mass \$0-mass 30;
+#X obj 595 172 mass \$0-mass 30;
+#X obj 743 171 mass \$0-mass 30;
+#X obj 894 171 mass \$0-mass 30;
+#X obj 1041 171 mass \$0-mass 30;
+#X text 135 451 You can see the propagation of a wave \, and physical
+properties of a kind of elastic string.;
+#X text 160 132 masss and link has to be compute one after the other.
+;
+#X obj 749 384 mtof;
+#X obj 749 433 line;
+#X msg 749 409 \$1 15;
+#X obj 749 458 osc~;
+#X obj 805 384 mtof;
+#X obj 805 433 line;
+#X msg 805 409 \$1 15;
+#X obj 805 458 osc~;
+#X obj 860 384 mtof;
+#X obj 860 433 line;
+#X msg 860 409 \$1 15;
+#X obj 860 458 osc~;
+#X obj 916 383 mtof;
+#X obj 916 432 line;
+#X msg 916 408 \$1 15;
+#X obj 916 457 osc~;
+#X obj 972 382 mtof;
+#X obj 972 431 line;
+#X msg 972 407 \$1 15;
+#X obj 972 456 osc~;
+#X obj 1027 382 mtof;
+#X obj 1027 431 line;
+#X msg 1027 407 \$1 15;
+#X obj 1027 456 osc~;
+#X obj 1083 382 mtof;
+#X obj 1083 431 line;
+#X msg 1083 407 \$1 15;
+#X obj 1083 456 osc~;
+#X obj 880 510 *~ 0.1;
+#X obj 933 510 *~ 0.1;
+#X obj 1034 550 noise~;
+#X obj 944 798 dac~;
+#X obj 713 594 bp~ 80 5;
+#X obj 783 594 bp~ 160 5;
+#X obj 859 595 bp~ 380 5;
+#X obj 937 596 bp~ 760 5;
+#X obj 734 619 / 127;
+#X obj 734 669 *;
+#X obj 734 643 t f f;
+#X msg 734 695 \$1 10;
+#X obj 734 722 line~;
+#X obj 714 748 *~;
+#X obj 805 620 / 127;
+#X obj 805 670 *;
+#X obj 805 644 t f f;
+#X msg 805 696 \$1 10;
+#X obj 805 723 line~;
+#X obj 785 749 *~;
+#X obj 881 620 / 127;
+#X obj 881 670 *;
+#X obj 881 644 t f f;
+#X msg 881 696 \$1 10;
+#X obj 881 723 line~;
+#X obj 861 749 *~;
+#X obj 963 624 / 127;
+#X obj 963 674 *;
+#X obj 963 648 t f f;
+#X msg 963 700 \$1 10;
+#X obj 963 727 line~;
+#X obj 943 753 *~;
+#X obj 1048 621 / 127;
+#X obj 1048 671 *;
+#X obj 1048 645 t f f;
+#X msg 1048 697 \$1 10;
+#X obj 1048 724 line~;
+#X obj 1028 750 *~;
+#X obj 1119 622 / 127;
+#X obj 1119 672 *;
+#X obj 1119 646 t f f;
+#X msg 1119 698 \$1 10;
+#X obj 1119 725 line~;
+#X obj 1099 752 *~;
+#X obj 1195 622 / 127;
+#X obj 1195 672 *;
+#X obj 1195 646 t f f;
+#X msg 1195 698 \$1 10;
+#X obj 1195 725 line~;
+#X obj 1175 751 *~;
+#X obj 1027 596 bp~ 1380 5;
+#X obj 1089 598 bp~ 3160 5;
+#X obj 1173 597 bp~ 6380 5;
+#X connect 0 0 37 0;
+#X connect 0 0 73 0;
+#X connect 1 0 41 0;
+#X connect 1 0 79 0;
+#X connect 2 0 45 0;
+#X connect 2 0 85 0;
+#X connect 3 0 49 0;
+#X connect 3 0 91 0;
+#X connect 4 0 53 0;
+#X connect 4 0 97 0;
+#X connect 5 0 57 0;
+#X connect 5 0 103 0;
+#X connect 6 0 20 0;
+#X connect 7 0 15 0;
+#X connect 8 0 7 0;
+#X connect 13 0 61 0;
+#X connect 13 0 109 0;
+#X connect 14 0 27 1;
+#X connect 15 0 17 0;
+#X connect 15 1 16 0;
+#X connect 20 1 28 0;
+#X connect 21 0 28 0;
+#X connect 21 1 29 0;
+#X connect 22 0 29 0;
+#X connect 22 1 30 0;
+#X connect 23 0 30 0;
+#X connect 23 1 31 0;
+#X connect 24 0 31 0;
+#X connect 24 1 32 0;
+#X connect 25 0 32 0;
+#X connect 25 1 33 0;
+#X connect 26 0 33 0;
+#X connect 26 1 34 0;
+#X connect 27 0 34 0;
+#X connect 28 0 0 0;
+#X connect 28 0 20 1;
+#X connect 28 0 21 0;
+#X connect 29 0 1 0;
+#X connect 29 0 21 1;
+#X connect 29 0 22 0;
+#X connect 30 0 2 0;
+#X connect 30 0 22 1;
+#X connect 30 0 23 0;
+#X connect 31 0 3 0;
+#X connect 31 0 23 1;
+#X connect 31 0 24 0;
+#X connect 32 0 4 0;
+#X connect 32 0 24 1;
+#X connect 32 0 25 0;
+#X connect 33 0 5 0;
+#X connect 33 0 25 1;
+#X connect 33 0 26 0;
+#X connect 34 0 13 0;
+#X connect 34 0 26 1;
+#X connect 34 0 27 0;
+#X connect 37 0 39 0;
+#X connect 38 0 40 0;
+#X connect 39 0 38 0;
+#X connect 40 0 65 0;
+#X connect 41 0 43 0;
+#X connect 42 0 44 0;
+#X connect 43 0 42 0;
+#X connect 44 0 65 0;
+#X connect 45 0 47 0;
+#X connect 46 0 48 0;
+#X connect 47 0 46 0;
+#X connect 48 0 65 0;
+#X connect 48 0 66 0;
+#X connect 49 0 51 0;
+#X connect 50 0 52 0;
+#X connect 51 0 50 0;
+#X connect 52 0 65 0;
+#X connect 52 0 66 0;
+#X connect 53 0 55 0;
+#X connect 54 0 56 0;
+#X connect 55 0 54 0;
+#X connect 56 0 65 0;
+#X connect 56 0 66 0;
+#X connect 57 0 59 0;
+#X connect 58 0 60 0;
+#X connect 59 0 58 0;
+#X connect 60 0 66 0;
+#X connect 61 0 63 0;
+#X connect 62 0 64 0;
+#X connect 63 0 62 0;
+#X connect 64 0 66 0;
+#X connect 67 0 69 0;
+#X connect 67 0 70 0;
+#X connect 67 0 71 0;
+#X connect 67 0 72 0;
+#X connect 67 0 115 0;
+#X connect 67 0 116 0;
+#X connect 67 0 117 0;
+#X connect 69 0 78 0;
+#X connect 70 0 84 0;
+#X connect 71 0 90 0;
+#X connect 72 0 96 0;
+#X connect 73 0 75 0;
+#X connect 74 0 76 0;
+#X connect 75 0 74 0;
+#X connect 75 1 74 1;
+#X connect 76 0 77 0;
+#X connect 77 0 78 1;
+#X connect 78 0 68 0;
+#X connect 78 0 68 1;
+#X connect 79 0 81 0;
+#X connect 80 0 82 0;
+#X connect 81 0 80 0;
+#X connect 81 1 80 1;
+#X connect 82 0 83 0;
+#X connect 83 0 84 1;
+#X connect 84 0 68 0;
+#X connect 84 0 68 1;
+#X connect 85 0 87 0;
+#X connect 86 0 88 0;
+#X connect 87 0 86 0;
+#X connect 87 1 86 1;
+#X connect 88 0 89 0;
+#X connect 89 0 90 1;
+#X connect 90 0 68 1;
+#X connect 90 0 68 0;
+#X connect 91 0 93 0;
+#X connect 92 0 94 0;
+#X connect 93 0 92 0;
+#X connect 93 1 92 1;
+#X connect 94 0 95 0;
+#X connect 95 0 96 1;
+#X connect 96 0 68 1;
+#X connect 96 0 68 0;
+#X connect 97 0 99 0;
+#X connect 98 0 100 0;
+#X connect 99 0 98 0;
+#X connect 99 1 98 1;
+#X connect 100 0 101 0;
+#X connect 101 0 102 1;
+#X connect 102 0 68 0;
+#X connect 102 0 68 1;
+#X connect 103 0 105 0;
+#X connect 104 0 106 0;
+#X connect 105 0 104 0;
+#X connect 105 1 104 1;
+#X connect 106 0 107 0;
+#X connect 107 0 108 1;
+#X connect 108 0 68 1;
+#X connect 108 0 68 0;
+#X connect 109 0 111 0;
+#X connect 110 0 112 0;
+#X connect 111 0 110 0;
+#X connect 111 1 110 1;
+#X connect 112 0 113 0;
+#X connect 113 0 114 1;
+#X connect 114 0 68 1;
+#X connect 114 0 68 0;
+#X connect 115 0 102 0;
+#X connect 116 0 108 0;
+#X connect 117 0 114 0;
diff --git a/examples/03_chaos2D.pd b/examples/03_chaos2D.pd
new file mode 100644
index 0000000..3513b5d
--- /dev/null
+++ b/examples/03_chaos2D.pd
@@ -0,0 +1,180 @@
+#N canvas 1 4 843 542 12;
+#X obj 16 98 t b b;
+#X obj 16 50 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 73 233 unpack s f f;
+#X obj 177 293 vsl 15 128 0 127 0 0 empty empty empty 0 -8 0 8 -262144
+-1 -1 8300 1;
+#X obj 121 343 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 10100 1;
+#X obj 16 71 metro 50;
+#X msg 360 291 setK \$1;
+#X msg 434 265 setD \$1;
+#X msg 507 237 setM \$1;
+#X floatatom 360 216 5 0 20 0 - - -;
+#X floatatom 434 214 5 0 30 0 - - -;
+#X floatatom 507 214 5 3 100 0 - - -;
+#N canvas 796 335 379 269 gem 0;
+#X obj 197 20 gemhead;
+#X msg 47 96 0 \, destroy;
+#X obj 13 124 gemwin;
+#X obj 197 152 circle 0.5;
+#X obj 182 47 inlet;
+#X obj 182 72 unpack s f f;
+#X obj 197 124 translateXYZ;
+#X obj 13 19 inlet;
+#X obj 13 45 sel 1;
+#X obj 227 99 / 30;
+#X obj 273 99 / 30;
+#X msg 13 71 reset \, create \, 1;
+#X connect 0 0 6 0;
+#X connect 1 0 2 0;
+#X connect 4 0 5 0;
+#X connect 5 1 9 0;
+#X connect 5 2 10 0;
+#X connect 6 0 3 0;
+#X connect 7 0 8 0;
+#X connect 8 0 11 0;
+#X connect 8 1 1 0;
+#X connect 9 0 6 1;
+#X connect 10 0 6 2;
+#X connect 11 0 2 0;
+#X restore 19 233 pd gem;
+#X obj 19 186 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#N canvas 513 286 485 188 structure 0;
+#N canvas 272 241 298 174 link_left 0;
+#X obj 194 68 inlet;
+#X obj 194 121 outlet;
+#X obj 31 95 link2D \$0-link 70 1 0 0;
+#X obj 31 38 mass2D border_mass 1 -64 0;
+#X connect 0 0 2 1;
+#X connect 2 1 1 0;
+#X connect 3 0 2 0;
+#X restore 22 57 pd link_left;
+#N canvas 345 616 329 171 link_down 0;
+#X obj 181 53 inlet;
+#X obj 181 106 outlet;
+#X obj 18 80 link2D \$0-link 70 1 0 0;
+#X obj 18 23 mass2D border_mass 1 0 -64;
+#X connect 0 0 2 1;
+#X connect 2 1 1 0;
+#X connect 3 0 2 0;
+#X restore 117 90 pd link_down;
+#N canvas 506 199 290 152 link_up 0;
+#X obj 187 52 inlet;
+#X obj 187 105 outlet;
+#X obj 24 79 link2D \$0-link 70 1 0 0;
+#X obj 24 22 mass2D border_mass 1 0 64;
+#X connect 0 0 2 1;
+#X connect 2 1 1 0;
+#X connect 3 0 2 0;
+#X restore 121 29 pd link_up;
+#X obj 222 93 outlet;
+#N canvas 703 434 355 273 link_right 0;
+#X obj 191 65 inlet;
+#X obj 191 118 outlet;
+#X obj 28 92 link2D \$0-link 70 1 0 0;
+#X obj 28 35 mass2D border_mass 1 64 0;
+#X connect 0 0 2 1;
+#X connect 2 1 1 0;
+#X connect 3 0 2 0;
+#X restore 320 58 pd link_right;
+#X obj 120 57 mass2D \$0-mass 8 37 19;
+#X connect 0 0 5 0;
+#X connect 1 0 5 0;
+#X connect 2 0 5 0;
+#X connect 4 0 5 0;
+#X connect 5 0 3 0;
+#X connect 5 0 2 0;
+#X connect 5 0 1 0;
+#X connect 5 0 0 0;
+#X connect 5 0 4 0;
+#X restore 62 206 pd structure;
+#X obj 360 265 / 10;
+#X obj 360 239 + 1;
+#X obj 64 100 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 30 124 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X msg 434 190 0;
+#X obj 164 6 loadbang;
+#X obj 118 263 + 64;
+#X obj 164 263 + 64;
+#X obj 434 238 / 10;
+#X text 42 47 <- click here;
+#X msg 360 190 3;
+#X msg 164 61 resetF;
+#X obj 235 11 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 164 32 t b b;
+#X msg 177 83 force2D -100 140;
+#X obj 51 123 s \$0-link;
+#X obj 16 147 s \$0-mass;
+#X msg 199 108 reset;
+#X obj 507 265 s \$0-mass;
+#X obj 360 323 s \$0-link;
+#X text 269 8 <- reset the simulation;
+#X text 52 182 <- visualization (need gem);
+#X text 359 135 you can change physical properties of the system. take
+care of numerical instability (especially with fast movement);
+#X text 276 388 The mass is connected to the 4 borders of the screen
+with 4 link (without damping). The movement of the masss (should)
+follow a chaotic equation.;
+#X obj 40 445 osc~;
+#X obj 40 420 mtof;
+#X obj 40 395 line;
+#X obj 97 394 *;
+#X obj 39 471 *~;
+#X obj 97 445 line~;
+#X obj 39 497 dac~;
+#X obj 97 369 / 256;
+#X msg 97 419 \$1 100;
+#X msg 40 369 \$1 100;
+#X msg 507 189 20;
+#X connect 0 0 31 0;
+#X connect 0 1 30 0;
+#X connect 1 0 5 0;
+#X connect 2 1 21 0;
+#X connect 2 2 22 0;
+#X connect 5 0 0 0;
+#X connect 6 0 34 0;
+#X connect 7 0 34 0;
+#X connect 8 0 33 0;
+#X connect 9 0 16 0;
+#X connect 10 0 23 0;
+#X connect 11 0 8 0;
+#X connect 13 0 12 0;
+#X connect 14 0 2 0;
+#X connect 14 0 12 1;
+#X connect 15 0 6 0;
+#X connect 16 0 15 0;
+#X connect 17 0 30 0;
+#X connect 18 0 31 0;
+#X connect 19 0 10 0;
+#X connect 20 0 28 0;
+#X connect 21 0 4 0;
+#X connect 21 0 48 0;
+#X connect 22 0 3 0;
+#X connect 22 0 46 0;
+#X connect 23 0 7 0;
+#X connect 25 0 9 0;
+#X connect 26 0 30 0;
+#X connect 27 0 28 0;
+#X connect 28 0 26 0;
+#X connect 28 0 29 0;
+#X connect 28 1 32 0;
+#X connect 29 0 31 0;
+#X connect 32 0 31 0;
+#X connect 39 0 43 0;
+#X connect 40 0 39 0;
+#X connect 41 0 40 0;
+#X connect 42 0 47 0;
+#X connect 43 0 45 0;
+#X connect 43 0 45 1;
+#X connect 44 0 43 1;
+#X connect 46 0 42 1;
+#X connect 46 0 42 0;
+#X connect 47 0 44 0;
+#X connect 48 0 41 0;
+#X connect 49 0 11 0;
diff --git a/examples/04_3D_exemple.pd b/examples/04_3D_exemple.pd
new file mode 100644
index 0000000..2cfdb7e
--- /dev/null
+++ b/examples/04_3D_exemple.pd
@@ -0,0 +1,71 @@
+#N canvas 21 21 607 384 12;
+#X obj 82 222 t b b;
+#X obj 82 198 metro 10;
+#X obj 82 164 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#N canvas 451 422 544 277 gem 0;
+#X obj 267 18 gemhead;
+#X msg 47 96 0 \, destroy;
+#X obj 252 45 inlet;
+#X obj 267 146 translateXYZ;
+#X obj 13 19 inlet;
+#X obj 13 45 sel 1;
+#X obj 252 70 unpack s f f f;
+#X obj 13 124 gemwin 50;
+#X msg 13 71 reset \, lighting 1 \, create \, 1;
+#X obj 421 50 gemhead;
+#X obj 419 74 world_light;
+#X msg 342 193 20;
+#X obj 342 170 loadbang;
+#X obj 228 110 pack f f f;
+#X obj 267 216 sphere 0.1;
+#X obj 377 109 gemhead;
+#X obj 376 220 sphere 1;
+#X obj 377 135 alpha;
+#X obj 376 196 color 1 1 1 0.5;
+#X connect 0 0 3 0;
+#X connect 1 0 7 0;
+#X connect 2 0 6 0;
+#X connect 3 0 14 0;
+#X connect 4 0 5 0;
+#X connect 5 0 8 0;
+#X connect 5 1 1 0;
+#X connect 6 1 3 1;
+#X connect 6 1 13 0;
+#X connect 6 2 3 2;
+#X connect 6 2 13 1;
+#X connect 6 3 3 3;
+#X connect 6 3 13 2;
+#X connect 8 0 7 0;
+#X connect 9 0 10 0;
+#X connect 11 0 14 2;
+#X connect 11 0 16 2;
+#X connect 12 0 11 0;
+#X connect 15 0 17 0;
+#X connect 17 0 18 0;
+#X connect 18 0 16 0;
+#X restore 39 323 pd gem;
+#X obj 39 299 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X msg 207 181 force3D 1 0 0;
+#X msg 215 204 force3D 0 1 0;
+#X msg 223 227 force3D 0 0 1;
+#X text 112 160 <- start here;
+#X text 62 296 <- gem simulation;
+#X text 347 205 <- send X \, Y \, Z forces;
+#X obj 82 264 mass3D 0 10;
+#X obj 189 264 link3D 0 1 1 1 0.03;
+#X text 73 12 simulation of a 3D model. The small sphere is link in
+the center of the big one with a 3D link. This link has the same diametter
+than the big sphere.;
+#X connect 0 0 11 0;
+#X connect 0 1 12 0;
+#X connect 1 0 0 0;
+#X connect 2 0 1 0;
+#X connect 4 0 3 0;
+#X connect 5 0 11 0;
+#X connect 6 0 11 0;
+#X connect 7 0 11 0;
+#X connect 11 0 12 0;
+#X connect 11 0 3 1;
+#X connect 12 0 11 0;
diff --git a/examples/05_corde2D.pd b/examples/05_corde2D.pd
new file mode 100644
index 0000000..7855ead
--- /dev/null
+++ b/examples/05_corde2D.pd
@@ -0,0 +1,452 @@
+#N canvas 80 32 844 550 12;
+#N canvas 306 123 261 242 mass 0;
+#X obj 24 23 inlet;
+#X obj 24 83 outlet;
+#X obj 83 138 gemhead;
+#X obj 84 85 unpack s f f;
+#X obj 83 169 translateXYZ 0 0 0;
+#X obj 83 197 sphere 0.3;
+#X obj 129 111 / 100;
+#X obj 175 112 / 100;
+#X obj 24 55 mass2D mass 10;
+#X connect 0 0 8 0;
+#X connect 2 0 4 0;
+#X connect 3 1 6 0;
+#X connect 3 2 7 0;
+#X connect 4 0 5 0;
+#X connect 6 0 4 1;
+#X connect 7 0 4 2;
+#X connect 8 0 1 0;
+#X connect 8 0 3 0;
+#X restore 143 446 pd mass;
+#X obj 62 214 s link;
+#X obj 27 239 s mass;
+#X obj 397 308 s mass;
+#X msg 184 199 setK \$1;
+#X msg 399 149 setM \$1;
+#X obj 184 231 s link;
+#X obj 399 177 s mass;
+#X obj 184 173 / 10;
+#X obj 184 147 + 1;
+#X obj 508 151 gemwin;
+#X msg 515 122 0 \, destroy;
+#X floatatom 184 125 5 10 100 0 - - -;
+#X floatatom 245 127 5 0 3 0 - - -;
+#X floatatom 399 126 5 20 500 0 - - -;
+#X msg 411 278 force2D 2000 0;
+#X obj 27 163 metro 10;
+#X obj 27 187 t b b;
+#X msg 396 335 force2D 0 5000;
+#X msg 184 101 50;
+#X msg 245 101 1;
+#X msg 399 102 200;
+#X obj 868 143 world_light;
+#X obj 868 84 gemhead;
+#X obj 868 114 rotateXYZ;
+#X msg 397 250 force2D 0 1000;
+#X msg 245 150 setD \$1;
+#X obj 27 9 loadbang;
+#X msg 108 99 reset;
+#X obj 108 126 s mass;
+#X obj 27 40 t b b b b;
+#X msg 49 100 resetF;
+#X obj 49 127 s link;
+#X floatatom 321 127 5 0 3 0 - - -;
+#X msg 321 101 1;
+#X msg 321 150 setD2 \$1;
+#N canvas 306 123 570 357 mass 0;
+#X obj 24 99 outlet;
+#X obj 145 98 gemhead;
+#X obj 137 134 unpack s f f;
+#X obj 143 190 translateXYZ 0 0 0;
+#X obj 144 224 sphere 0.3;
+#X obj 185 160 / 100;
+#X obj 228 161 / 100;
+#X obj 25 70 mass2D mass2 10 -300 0;
+#X connect 1 0 3 0;
+#X connect 2 1 5 0;
+#X connect 2 2 6 0;
+#X connect 3 0 4 0;
+#X connect 5 0 3 1;
+#X connect 6 0 3 2;
+#X connect 7 0 0 0;
+#X connect 7 0 2 0;
+#X restore 11 383 pd mass;
+#X msg 396 366 force2D 5000 0;
+#X text 461 7 2D string;
+#X text 542 250 <- send Y force to all masss;
+#X text 544 279 <- send X force to all masss;
+#X text 540 335 <- send Y force to 2 masss;
+#X text 542 364 <- send X force to 1 masss;
+#N canvas 306 123 261 242 mass 0;
+#X obj 24 23 inlet;
+#X obj 24 83 outlet;
+#X obj 83 138 gemhead;
+#X obj 84 85 unpack s f f;
+#X obj 83 169 translateXYZ 0 0 0;
+#X obj 83 197 sphere 0.3;
+#X obj 129 111 / 100;
+#X obj 175 112 / 100;
+#X obj 24 55 mass2D mass 10;
+#X connect 0 0 8 0;
+#X connect 2 0 4 0;
+#X connect 3 1 6 0;
+#X connect 3 2 7 0;
+#X connect 4 0 5 0;
+#X connect 6 0 4 1;
+#X connect 7 0 4 2;
+#X connect 8 0 1 0;
+#X connect 8 0 3 0;
+#X restore 281 449 pd mass;
+#X obj 11 409 link2D link 30 1 1;
+#X obj 158 408 link2D link 30 1 1;
+#N canvas 306 123 261 242 mass 0;
+#X obj 24 23 inlet;
+#X obj 24 83 outlet;
+#X obj 83 138 gemhead;
+#X obj 84 85 unpack s f f;
+#X obj 83 169 translateXYZ 0 0 0;
+#X obj 83 197 sphere 0.3;
+#X obj 129 111 / 100;
+#X obj 175 112 / 100;
+#X obj 24 55 mass2D mass 10;
+#X connect 0 0 8 0;
+#X connect 2 0 4 0;
+#X connect 3 1 6 0;
+#X connect 3 2 7 0;
+#X connect 4 0 5 0;
+#X connect 6 0 4 1;
+#X connect 7 0 4 2;
+#X connect 8 0 1 0;
+#X connect 8 0 3 0;
+#X restore 432 446 pd mass;
+#N canvas 306 123 261 242 mass 0;
+#X obj 24 23 inlet;
+#X obj 24 83 outlet;
+#X obj 83 138 gemhead;
+#X obj 84 85 unpack s f f;
+#X obj 83 169 translateXYZ 0 0 0;
+#X obj 83 197 sphere 0.3;
+#X obj 129 111 / 100;
+#X obj 175 112 / 100;
+#X obj 24 55 mass2D mass 10;
+#X connect 0 0 8 0;
+#X connect 2 0 4 0;
+#X connect 3 1 6 0;
+#X connect 3 2 7 0;
+#X connect 4 0 5 0;
+#X connect 6 0 4 1;
+#X connect 7 0 4 2;
+#X connect 8 0 1 0;
+#X connect 8 0 3 0;
+#X restore 570 449 pd mass;
+#X obj 300 409 link2D link 30 1 1;
+#X obj 447 408 link2D link 30 1 1;
+#N canvas 306 123 261 242 mass 0;
+#X obj 24 23 inlet;
+#X obj 24 83 outlet;
+#X obj 83 138 gemhead;
+#X obj 84 85 unpack s f f;
+#X obj 83 169 translateXYZ 0 0 0;
+#X obj 83 197 sphere 0.3;
+#X obj 129 111 / 100;
+#X obj 175 112 / 100;
+#X obj 24 55 mass2D mass 10;
+#X connect 0 0 8 0;
+#X connect 2 0 4 0;
+#X connect 3 1 6 0;
+#X connect 3 2 7 0;
+#X connect 4 0 5 0;
+#X connect 6 0 4 1;
+#X connect 7 0 4 2;
+#X connect 8 0 1 0;
+#X connect 8 0 3 0;
+#X restore 719 449 pd mass;
+#X obj 596 408 link2D link 30 1 1;
+#N canvas 306 123 261 242 mass 0;
+#X obj 24 23 inlet;
+#X obj 24 83 outlet;
+#X obj 83 138 gemhead;
+#X obj 84 85 unpack s f f;
+#X obj 83 169 translateXYZ 0 0 0;
+#X obj 83 197 sphere 0.3;
+#X obj 129 111 / 100;
+#X obj 175 112 / 100;
+#X obj 24 55 mass2D mass 10;
+#X connect 0 0 8 0;
+#X connect 2 0 4 0;
+#X connect 3 1 6 0;
+#X connect 3 2 7 0;
+#X connect 4 0 5 0;
+#X connect 6 0 4 1;
+#X connect 7 0 4 2;
+#X connect 8 0 1 0;
+#X connect 8 0 3 0;
+#X restore 870 446 pd mass;
+#N canvas 306 123 261 242 mass 0;
+#X obj 24 23 inlet;
+#X obj 24 83 outlet;
+#X obj 83 138 gemhead;
+#X obj 84 85 unpack s f f;
+#X obj 83 169 translateXYZ 0 0 0;
+#X obj 83 197 sphere 0.3;
+#X obj 129 111 / 100;
+#X obj 175 112 / 100;
+#X obj 24 55 mass2D mass 10;
+#X connect 0 0 8 0;
+#X connect 2 0 4 0;
+#X connect 3 1 6 0;
+#X connect 3 2 7 0;
+#X connect 4 0 5 0;
+#X connect 6 0 4 1;
+#X connect 7 0 4 2;
+#X connect 8 0 1 0;
+#X connect 8 0 3 0;
+#X restore 1008 449 pd mass;
+#X obj 738 409 link2D link 30 1 1;
+#X obj 885 408 link2D link 30 1 1;
+#N canvas 306 123 261 242 mass 0;
+#X obj 24 23 inlet;
+#X obj 24 83 outlet;
+#X obj 83 138 gemhead;
+#X obj 84 85 unpack s f f;
+#X obj 83 169 translateXYZ 0 0 0;
+#X obj 83 197 sphere 0.3;
+#X obj 129 111 / 100;
+#X obj 175 112 / 100;
+#X obj 24 55 mass2D mass 10;
+#X connect 0 0 8 0;
+#X connect 2 0 4 0;
+#X connect 3 1 6 0;
+#X connect 3 2 7 0;
+#X connect 4 0 5 0;
+#X connect 6 0 4 1;
+#X connect 7 0 4 2;
+#X connect 8 0 1 0;
+#X connect 8 0 3 0;
+#X restore 156 589 pd mass;
+#N canvas 306 123 261 242 mass 0;
+#X obj 24 23 inlet;
+#X obj 24 83 outlet;
+#X obj 83 138 gemhead;
+#X obj 84 85 unpack s f f;
+#X obj 83 169 translateXYZ 0 0 0;
+#X obj 83 197 sphere 0.3;
+#X obj 129 111 / 100;
+#X obj 175 112 / 100;
+#X obj 24 55 mass2D mass 10;
+#X connect 0 0 8 0;
+#X connect 2 0 4 0;
+#X connect 3 1 6 0;
+#X connect 3 2 7 0;
+#X connect 4 0 5 0;
+#X connect 6 0 4 1;
+#X connect 7 0 4 2;
+#X connect 8 0 1 0;
+#X connect 8 0 3 0;
+#X restore 294 592 pd mass;
+#X obj 24 552 link2D link 30 1 1;
+#X obj 171 551 link2D link 30 1 1;
+#N canvas 306 123 261 242 mass 0;
+#X obj 24 23 inlet;
+#X obj 24 83 outlet;
+#X obj 83 138 gemhead;
+#X obj 84 85 unpack s f f;
+#X obj 83 169 translateXYZ 0 0 0;
+#X obj 83 197 sphere 0.3;
+#X obj 129 111 / 100;
+#X obj 175 112 / 100;
+#X obj 24 55 mass2D mass 10;
+#X connect 0 0 8 0;
+#X connect 2 0 4 0;
+#X connect 3 1 6 0;
+#X connect 3 2 7 0;
+#X connect 4 0 5 0;
+#X connect 6 0 4 1;
+#X connect 7 0 4 2;
+#X connect 8 0 1 0;
+#X connect 8 0 3 0;
+#X restore 445 589 pd mass;
+#N canvas 306 123 261 242 mass 0;
+#X obj 24 23 inlet;
+#X obj 24 83 outlet;
+#X obj 83 138 gemhead;
+#X obj 84 85 unpack s f f;
+#X obj 83 169 translateXYZ 0 0 0;
+#X obj 83 197 sphere 0.3;
+#X obj 129 111 / 100;
+#X obj 175 112 / 100;
+#X obj 24 55 mass2D mass 10;
+#X connect 0 0 8 0;
+#X connect 2 0 4 0;
+#X connect 3 1 6 0;
+#X connect 3 2 7 0;
+#X connect 4 0 5 0;
+#X connect 6 0 4 1;
+#X connect 7 0 4 2;
+#X connect 8 0 1 0;
+#X connect 8 0 3 0;
+#X restore 583 592 pd mass;
+#X obj 313 552 link2D link 30 1 1;
+#X obj 460 551 link2D link 30 1 1;
+#N canvas 306 123 261 242 mass 0;
+#X obj 24 23 inlet;
+#X obj 24 83 outlet;
+#X obj 83 138 gemhead;
+#X obj 84 85 unpack s f f;
+#X obj 83 169 translateXYZ 0 0 0;
+#X obj 83 197 sphere 0.3;
+#X obj 129 111 / 100;
+#X obj 175 112 / 100;
+#X obj 24 55 mass2D mass 10;
+#X connect 0 0 8 0;
+#X connect 2 0 4 0;
+#X connect 3 1 6 0;
+#X connect 3 2 7 0;
+#X connect 4 0 5 0;
+#X connect 6 0 4 1;
+#X connect 7 0 4 2;
+#X connect 8 0 1 0;
+#X connect 8 0 3 0;
+#X restore 732 592 pd mass;
+#X obj 609 551 link2D link 30 1 1;
+#N canvas 306 123 261 242 mass 0;
+#X obj 24 23 inlet;
+#X obj 24 83 outlet;
+#X obj 83 138 gemhead;
+#X obj 84 85 unpack s f f;
+#X obj 83 169 translateXYZ 0 0 0;
+#X obj 83 197 sphere 0.3;
+#X obj 129 111 / 100;
+#X obj 175 112 / 100;
+#X obj 24 55 mass2D mass 10;
+#X connect 0 0 8 0;
+#X connect 2 0 4 0;
+#X connect 3 1 6 0;
+#X connect 3 2 7 0;
+#X connect 4 0 5 0;
+#X connect 6 0 4 1;
+#X connect 7 0 4 2;
+#X connect 8 0 1 0;
+#X connect 8 0 3 0;
+#X restore 883 589 pd mass;
+#N canvas 306 123 265 246 mass 0;
+#X obj 24 83 outlet;
+#X obj 83 138 gemhead;
+#X obj 84 85 unpack s f f;
+#X obj 83 169 translateXYZ 0 0 0;
+#X obj 83 197 sphere 0.3;
+#X obj 129 111 / 100;
+#X obj 175 112 / 100;
+#X obj 24 55 mass2D mass2 10 300;
+#X connect 1 0 3 0;
+#X connect 2 1 5 0;
+#X connect 2 2 6 0;
+#X connect 3 0 4 0;
+#X connect 5 0 3 1;
+#X connect 6 0 3 2;
+#X connect 7 0 0 0;
+#X connect 7 0 2 0;
+#X restore 1021 524 pd mass;
+#X obj 751 552 link2D link 30 1 1;
+#X obj 898 551 link2D link 30 1 1;
+#X msg 508 95 reset \, lighting 1 \, create \, 1;
+#X obj 112 15 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X text 325 23 masss are link together like in an elastic string.
+;
+#X text 30 652 The extrem right and extreme left masss are fixed :
+the does not receive a force. they are neaded for the model to be link
+to a special point in the screen.;
+#X text 742 94 <- 1;
+#X connect 0 0 44 1;
+#X connect 0 0 45 0;
+#X connect 4 0 6 0;
+#X connect 5 0 7 0;
+#X connect 8 0 4 0;
+#X connect 9 0 8 0;
+#X connect 11 0 10 0;
+#X connect 12 0 9 0;
+#X connect 13 0 26 0;
+#X connect 14 0 5 0;
+#X connect 15 0 3 0;
+#X connect 16 0 17 0;
+#X connect 17 0 2 0;
+#X connect 17 1 1 0;
+#X connect 18 0 0 0;
+#X connect 18 0 43 0;
+#X connect 19 0 12 0;
+#X connect 20 0 13 0;
+#X connect 21 0 14 0;
+#X connect 23 0 24 0;
+#X connect 24 0 22 0;
+#X connect 25 0 3 0;
+#X connect 26 0 6 0;
+#X connect 27 0 30 0;
+#X connect 28 0 29 0;
+#X connect 30 0 16 0;
+#X connect 30 1 31 0;
+#X connect 30 2 28 0;
+#X connect 30 3 19 0;
+#X connect 30 3 20 0;
+#X connect 30 3 21 0;
+#X connect 30 3 34 0;
+#X connect 31 0 32 0;
+#X connect 33 0 35 0;
+#X connect 34 0 33 0;
+#X connect 35 0 6 0;
+#X connect 36 0 44 0;
+#X connect 37 0 46 0;
+#X connect 43 0 45 1;
+#X connect 43 0 48 0;
+#X connect 44 1 0 0;
+#X connect 45 0 0 0;
+#X connect 45 1 43 0;
+#X connect 46 0 48 1;
+#X connect 46 0 49 0;
+#X connect 47 0 49 1;
+#X connect 47 0 51 0;
+#X connect 48 0 43 0;
+#X connect 48 1 46 0;
+#X connect 49 0 46 0;
+#X connect 49 1 47 0;
+#X connect 50 0 51 1;
+#X connect 50 0 54 0;
+#X connect 51 0 47 0;
+#X connect 51 1 50 0;
+#X connect 52 0 54 1;
+#X connect 52 0 55 0;
+#X connect 53 0 55 1;
+#X connect 53 0 58 0;
+#X connect 54 0 50 0;
+#X connect 54 1 52 0;
+#X connect 55 0 52 0;
+#X connect 55 1 53 0;
+#X connect 56 0 58 1;
+#X connect 56 0 59 0;
+#X connect 57 0 59 1;
+#X connect 57 0 62 0;
+#X connect 58 0 53 0;
+#X connect 58 1 56 0;
+#X connect 59 0 56 0;
+#X connect 59 1 57 0;
+#X connect 60 0 62 1;
+#X connect 60 0 63 0;
+#X connect 61 0 63 1;
+#X connect 61 0 65 0;
+#X connect 62 0 57 0;
+#X connect 62 1 60 0;
+#X connect 63 0 60 0;
+#X connect 63 1 61 0;
+#X connect 64 0 65 1;
+#X connect 64 0 68 0;
+#X connect 65 0 61 0;
+#X connect 65 1 64 0;
+#X connect 66 0 68 1;
+#X connect 66 0 69 0;
+#X connect 67 0 69 1;
+#X connect 68 0 64 0;
+#X connect 68 1 66 0;
+#X connect 69 0 66 0;
+#X connect 70 0 10 0;
+#X connect 71 0 30 0;
diff --git a/examples/06_pyramide3D.pd b/examples/06_pyramide3D.pd
new file mode 100644
index 0000000..79768d7
--- /dev/null
+++ b/examples/06_pyramide3D.pd
@@ -0,0 +1,249 @@
+#N canvas 516 258 695 581 12;
+#N canvas 381 0 941 947 forme 0;
+#X obj 22 676 translateXYZ;
+#X obj 16 646 unpack s f f f;
+#X obj 22 705 sphere 0.3;
+#X obj 143 676 translateXYZ;
+#X obj 137 646 unpack s f f f;
+#X obj 143 705 sphere 0.3;
+#X obj 391 677 translateXYZ;
+#X obj 385 647 unpack s f f f;
+#X obj 391 706 sphere 0.3;
+#X obj 264 678 translateXYZ;
+#X obj 258 648 unpack s f f f;
+#X obj 264 707 sphere 0.3;
+#X obj 303 15 inlet;
+#X obj 11 762 gemhead;
+#X obj 22 605 gemhead;
+#X obj 142 606 gemhead;
+#X obj 264 604 gemhead;
+#X obj 390 604 gemhead;
+#X msg 31 811 \$1 \$2 \$3;
+#X msg 62 788 \$1 \$2 \$3;
+#X obj 235 766 gemhead;
+#X msg 269 816 \$1 \$2 \$3;
+#X msg 286 788 \$1 \$2 \$3;
+#X obj 360 764 gemhead;
+#X msg 394 814 \$1 \$2 \$3;
+#X msg 411 790 \$1 \$2 \$3;
+#X obj 475 764 gemhead;
+#X msg 509 813 \$1 \$2 \$3;
+#X msg 526 789 \$1 \$2 \$3;
+#X obj 581 763 gemhead;
+#X msg 615 813 \$1 \$2 \$3;
+#X msg 632 789 \$1 \$2 \$3;
+#X obj 11 842 curve 2;
+#X obj 236 846 curve 2;
+#X obj 360 844 curve 2;
+#X obj 581 843 curve 2;
+#X obj 120 761 gemhead;
+#X msg 140 810 \$1 \$2 \$3;
+#X msg 171 787 \$1 \$2 \$3;
+#X obj 120 841 curve 2;
+#X obj 718 762 gemhead;
+#X msg 738 811 \$1 \$2 \$3;
+#X obj 718 842 curve 2;
+#X obj 475 843 curve 2;
+#X obj 27 283 mass3D mass 10 -1 0 0;
+#X obj 107 123 link3D link 1 3 1 0.1;
+#X obj 322 63 mass3D mass 10 1 0 0;
+#X obj 422 138 link3D link 1 3 1 0.1;
+#X obj 289 246 link3D link 1 3 1 0.1;
+#X obj 276 306 link3D link 1 3 1 0.1;
+#X obj 91 403 link3D link 1 3 1 0.1;
+#X obj 287 486 mass3D mass 10 0 1 0;
+#X obj 458 375 link3D link 1 3 1 0.1;
+#X obj 570 273 mass3D mass 10 0 0;
+#X obj 758 271 link3D link2 1 0.6 0 0;
+#X connect 0 0 2 0;
+#X connect 1 1 0 1;
+#X connect 1 2 0 2;
+#X connect 1 3 0 3;
+#X connect 3 0 5 0;
+#X connect 4 1 3 1;
+#X connect 4 2 3 2;
+#X connect 4 3 3 3;
+#X connect 6 0 8 0;
+#X connect 7 1 6 1;
+#X connect 7 2 6 2;
+#X connect 7 3 6 3;
+#X connect 9 0 11 0;
+#X connect 10 1 9 1;
+#X connect 10 2 9 2;
+#X connect 10 3 9 3;
+#X connect 12 0 46 0;
+#X connect 13 0 32 0;
+#X connect 14 0 0 0;
+#X connect 15 0 3 0;
+#X connect 16 0 9 0;
+#X connect 17 0 6 0;
+#X connect 18 0 32 1;
+#X connect 19 0 32 2;
+#X connect 20 0 33 0;
+#X connect 21 0 33 1;
+#X connect 22 0 33 2;
+#X connect 23 0 34 0;
+#X connect 24 0 34 1;
+#X connect 25 0 34 2;
+#X connect 26 0 43 0;
+#X connect 27 0 43 1;
+#X connect 28 0 43 2;
+#X connect 29 0 35 0;
+#X connect 30 0 35 1;
+#X connect 31 0 35 2;
+#X connect 36 0 39 0;
+#X connect 37 0 39 1;
+#X connect 38 0 39 2;
+#X connect 40 0 42 0;
+#X connect 41 0 42 1;
+#X connect 44 0 50 0;
+#X connect 44 0 45 0;
+#X connect 44 0 48 0;
+#X connect 44 0 1 0;
+#X connect 44 0 18 0;
+#X connect 44 0 37 0;
+#X connect 44 0 21 0;
+#X connect 45 0 44 0;
+#X connect 45 1 46 0;
+#X connect 46 0 45 1;
+#X connect 46 0 47 0;
+#X connect 46 0 49 1;
+#X connect 46 0 4 0;
+#X connect 46 0 22 0;
+#X connect 46 0 28 0;
+#X connect 46 0 30 0;
+#X connect 47 0 46 0;
+#X connect 47 1 53 0;
+#X connect 48 0 44 0;
+#X connect 48 1 53 0;
+#X connect 49 0 51 0;
+#X connect 49 1 46 0;
+#X connect 50 0 44 0;
+#X connect 50 1 51 0;
+#X connect 51 0 50 1;
+#X connect 51 0 52 0;
+#X connect 51 0 49 0;
+#X connect 51 0 10 0;
+#X connect 51 0 19 0;
+#X connect 51 0 24 0;
+#X connect 51 0 27 0;
+#X connect 52 0 51 0;
+#X connect 52 1 53 0;
+#X connect 53 0 52 1;
+#X connect 53 0 48 1;
+#X connect 53 0 7 0;
+#X connect 53 0 38 0;
+#X connect 53 0 25 0;
+#X connect 53 0 31 0;
+#X connect 53 0 41 0;
+#X connect 53 0 47 1;
+#X connect 53 0 54 0;
+#X connect 54 0 53 0;
+#X restore 39 472 pd forme;
+#X obj 10 26 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 78 105 s link;
+#X obj 10 104 s mass;
+#X obj 36 343 s mass;
+#X obj 10 47 metro 50;
+#X msg 193 73 destroy;
+#X msg 166 48 reset \, create \, 1 \, lighting 1;
+#X obj 166 106 gemwin;
+#X obj 458 107 world_light;
+#X obj 78 129 s link2;
+#X msg 36 242 force3D 0 0 1;
+#X msg 44 266 force3D 0 1 0;
+#X msg 53 290 force3D 1 0 0;
+#X obj 458 82 gemhead 1;
+#X msg 39 385 force3D 0 0 10;
+#X msg 45 409 force3D 0 10 0;
+#X msg 54 433 force3D 10 0 0;
+#X msg 61 314 force3D 2 1 1;
+#X obj 10 73 t b b;
+#N canvas 518 337 782 499 change 0;
+#X msg 102 189 setK \$1;
+#X msg 170 189 setD \$1;
+#X msg 33 73 setM \$1;
+#X floatatom 102 162 5 0 0 0 - - -;
+#X floatatom 170 162 5 0 0 0 - - -;
+#X floatatom 33 50 5 5 100 0 - - -;
+#X obj 33 216 s link;
+#X obj 33 99 s mass;
+#X floatatom 33 163 5 0 0 0 - - -;
+#X msg 33 189 setL \$1;
+#X obj 36 380 s link2;
+#X floatatom 36 297 5 0 0 0 - - -;
+#X msg 36 319 setL \$1;
+#X msg 33 140 1;
+#X msg 171 140 1;
+#X msg 102 139 3;
+#X msg 33 26 10;
+#X msg 102 319 setK \$1;
+#X msg 170 319 setD \$1;
+#X floatatom 102 293 5 0 0 0 - - -;
+#X floatatom 170 293 5 0 0 0 - - -;
+#X text 106 27 <- default value;
+#X text 109 100 weight of the mass;
+#X text 317 137 <- default values;
+#X text 315 189 pyramide linkison properties;
+#X text 257 270 <- default values;
+#X text 258 318 linkison beetween the pyramide and a fixed point (0
+\, 0 \, 0);
+#X msg 36 273 1;
+#X msg 102 270 0.6;
+#X msg 171 271 0;
+#X floatatom 238 162 5 0 0 0 - - -;
+#X msg 238 189 setD2 \$1;
+#X msg 239 140 0.1;
+#X text 36 429 take care to extrem values;
+#X connect 0 0 6 0;
+#X connect 1 0 6 0;
+#X connect 2 0 7 0;
+#X connect 3 0 0 0;
+#X connect 4 0 1 0;
+#X connect 5 0 2 0;
+#X connect 8 0 9 0;
+#X connect 9 0 6 0;
+#X connect 11 0 12 0;
+#X connect 12 0 10 0;
+#X connect 13 0 8 0;
+#X connect 14 0 4 0;
+#X connect 15 0 3 0;
+#X connect 16 0 5 0;
+#X connect 17 0 10 0;
+#X connect 18 0 10 0;
+#X connect 19 0 17 0;
+#X connect 20 0 18 0;
+#X connect 27 0 11 0;
+#X connect 28 0 19 0;
+#X connect 29 0 20 0;
+#X connect 30 0 31 0;
+#X connect 31 0 6 0;
+#X connect 32 0 30 0;
+#X restore 459 44 pd change physical properties;
+#X text 215 262 <- send forces to the 4 masss;
+#X text 225 378 <- send forces to a masss;
+#X text 227 474 <- structure and gem stuff;
+#X text 76 168 4 masss are all link together \, with the same kind
+of link.;
+#X text 73 193 A link is add to a mass \, for the structure to stay
+in the screen.;
+#X text 89 552 If the line does not display corectly \, you sould upgrade
+GEM;
+#X text 44 22 <- 1;
+#X text 399 48 <- 2;
+#X connect 1 0 5 0;
+#X connect 5 0 19 0;
+#X connect 6 0 8 0;
+#X connect 7 0 8 0;
+#X connect 11 0 4 0;
+#X connect 12 0 4 0;
+#X connect 13 0 4 0;
+#X connect 14 0 9 0;
+#X connect 15 0 0 0;
+#X connect 16 0 0 0;
+#X connect 17 0 0 0;
+#X connect 18 0 4 0;
+#X connect 19 0 3 0;
+#X connect 19 1 2 0;
+#X connect 19 1 10 0;
diff --git a/examples/07_corde3D.pd b/examples/07_corde3D.pd
new file mode 100644
index 0000000..99d4816
--- /dev/null
+++ b/examples/07_corde3D.pd
@@ -0,0 +1,601 @@
+#N canvas 102 60 816 578 12;
+#N canvas 663 236 288 320 mass 0;
+#X obj 25 38 inlet;
+#X obj 25 99 outlet;
+#X obj 76 228 translateXYZ 0 0 0;
+#X obj 76 256 sphere 0.3;
+#X obj 121 127 / 100;
+#X obj 168 127 / 100;
+#X obj 76 162 r gemhead;
+#X obj 76 191 separator;
+#X obj 86 100 unpack s f f f;
+#X obj 215 128 / 100;
+#X obj 25 70 mass3D mass 10;
+#X connect 0 0 10 0;
+#X connect 2 0 3 0;
+#X connect 4 0 2 1;
+#X connect 5 0 2 2;
+#X connect 6 0 7 0;
+#X connect 7 0 2 0;
+#X connect 8 1 4 0;
+#X connect 8 2 5 0;
+#X connect 8 3 9 0;
+#X connect 9 0 2 3;
+#X connect 10 0 1 0;
+#X connect 10 0 8 0;
+#X restore 99 622 pd mass;
+#N canvas 470 145 282 116 link 0;
+#X obj 177 23 inlet;
+#X obj 177 78 outlet;
+#X obj 86 23 inlet;
+#X obj 86 78 outlet;
+#X obj 86 51 link3D link 50 10 0;
+#X connect 0 0 4 1;
+#X connect 2 0 4 0;
+#X connect 4 0 3 0;
+#X connect 4 1 1 0;
+#X restore 47 593 pd link;
+#X obj 23 83 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1
+;
+#X obj 94 188 s link;
+#X obj 23 187 s mass;
+#X obj 540 417 s mass;
+#X msg 392 179 setK \$1;
+#X msg 613 131 setM \$1;
+#X obj 392 206 s link;
+#X obj 613 159 s mass;
+#X obj 392 153 / 10;
+#X obj 392 127 + 1;
+#X obj 43 314 gemwin;
+#X msg 62 281 0 \, destroy;
+#X floatatom 392 105 5 0 0 0 - - -;
+#X floatatom 529 109 5 0 0 0 - - -;
+#X floatatom 613 108 5 0 0 0 - - -;
+#X obj 392 47 loadbang;
+#X obj 23 104 metro 10;
+#X obj 23 128 t b b;
+#X msg 392 81 50;
+#X msg 613 84 200;
+#X obj 251 115 world_light;
+#X obj 251 87 gemhead;
+#X text 194 158 <- gravity simulation;
+#X obj 535 304 s gemhead;
+#X obj 535 223 gemhead;
+#X obj 535 279 rotateXYZ;
+#X floatatom 557 253 5 0 0 0 - - -;
+#X floatatom 607 254 5 0 0 0 - - -;
+#X floatatom 657 254 5 0 0 0 - - -;
+#X msg 158 479 force3D 1000 0 0;
+#X msg 179 503 force3D 0 1000 0;
+#X msg 196 525 force3D 0 0 1000;
+#X msg 556 391 force3D 1000 0 0;
+#X msg 550 368 force3D 0 0 500;
+#X msg 540 346 force3D 0 500 0;
+#N canvas 846 252 304 336 mass 0;
+#X obj 25 99 outlet;
+#X obj 75 228 translateXYZ 0 0 0;
+#X obj 75 256 sphere 0.3;
+#X obj 121 127 / 100;
+#X obj 167 127 / 100;
+#X obj 75 162 r gemhead;
+#X obj 75 191 separator;
+#X obj 86 100 unpack s f f f;
+#X obj 214 128 / 100;
+#X obj 24 71 mass3D 0 10 0 300 5;
+#X connect 1 0 2 0;
+#X connect 3 0 1 1;
+#X connect 4 0 1 2;
+#X connect 5 0 6 0;
+#X connect 6 0 1 0;
+#X connect 7 1 3 0;
+#X connect 7 2 4 0;
+#X connect 7 3 8 0;
+#X connect 8 0 1 3;
+#X connect 9 0 0 0;
+#X connect 9 0 7 0;
+#X restore 47 562 pd mass;
+#X msg 529 132 setD2 \$1;
+#X msg 58 156 force3D 0 -8 0;
+#X msg 506 517 force3D 0 0 2000;
+#X msg 490 495 force3D 0 2000 0;
+#X msg 468 471 force3D 2000 0 0;
+#X floatatom 445 110 5 0 0 0 - - -;
+#X msg 445 133 setD \$1;
+#X msg 445 84 1;
+#X msg 529 83 1;
+#N canvas 663 236 288 320 mass 0;
+#X obj 25 38 inlet;
+#X obj 25 99 outlet;
+#X obj 76 228 translateXYZ 0 0 0;
+#X obj 76 256 sphere 0.3;
+#X obj 121 127 / 100;
+#X obj 168 127 / 100;
+#X obj 76 162 r gemhead;
+#X obj 76 191 separator;
+#X obj 86 100 unpack s f f f;
+#X obj 215 128 / 100;
+#X obj 25 70 mass3D mass 10;
+#X connect 0 0 10 0;
+#X connect 2 0 3 0;
+#X connect 4 0 2 1;
+#X connect 5 0 2 2;
+#X connect 6 0 7 0;
+#X connect 7 0 2 0;
+#X connect 8 1 4 0;
+#X connect 8 2 5 0;
+#X connect 8 3 9 0;
+#X connect 9 0 2 3;
+#X connect 10 0 1 0;
+#X connect 10 0 8 0;
+#X restore 174 623 pd mass;
+#N canvas 470 145 282 116 link 0;
+#X obj 177 23 inlet;
+#X obj 177 78 outlet;
+#X obj 86 23 inlet;
+#X obj 86 78 outlet;
+#X obj 86 51 link3D link 50 10 0;
+#X connect 0 0 4 1;
+#X connect 2 0 4 0;
+#X connect 4 0 3 0;
+#X connect 4 1 1 0;
+#X restore 128 593 pd link;
+#N canvas 663 236 288 320 mass 0;
+#X obj 25 38 inlet;
+#X obj 25 99 outlet;
+#X obj 76 228 translateXYZ 0 0 0;
+#X obj 76 256 sphere 0.3;
+#X obj 121 127 / 100;
+#X obj 168 127 / 100;
+#X obj 76 162 r gemhead;
+#X obj 76 191 separator;
+#X obj 86 100 unpack s f f f;
+#X obj 215 128 / 100;
+#X obj 25 70 mass3D mass 10;
+#X connect 0 0 10 0;
+#X connect 2 0 3 0;
+#X connect 4 0 2 1;
+#X connect 5 0 2 2;
+#X connect 6 0 7 0;
+#X connect 7 0 2 0;
+#X connect 8 1 4 0;
+#X connect 8 2 5 0;
+#X connect 8 3 9 0;
+#X connect 9 0 2 3;
+#X connect 10 0 1 0;
+#X connect 10 0 8 0;
+#X restore 245 623 pd mass;
+#N canvas 470 145 282 116 link 0;
+#X obj 177 23 inlet;
+#X obj 177 78 outlet;
+#X obj 86 23 inlet;
+#X obj 86 78 outlet;
+#X obj 86 51 link3D link 50 10 0;
+#X connect 0 0 4 1;
+#X connect 2 0 4 0;
+#X connect 4 0 3 0;
+#X connect 4 1 1 0;
+#X restore 193 594 pd link;
+#N canvas 663 236 288 320 mass 0;
+#X obj 25 38 inlet;
+#X obj 25 99 outlet;
+#X obj 76 228 translateXYZ 0 0 0;
+#X obj 76 256 sphere 0.3;
+#X obj 121 127 / 100;
+#X obj 168 127 / 100;
+#X obj 76 162 r gemhead;
+#X obj 76 191 separator;
+#X obj 86 100 unpack s f f f;
+#X obj 215 128 / 100;
+#X obj 25 70 mass3D mass 10;
+#X connect 0 0 10 0;
+#X connect 2 0 3 0;
+#X connect 4 0 2 1;
+#X connect 5 0 2 2;
+#X connect 6 0 7 0;
+#X connect 7 0 2 0;
+#X connect 8 1 4 0;
+#X connect 8 2 5 0;
+#X connect 8 3 9 0;
+#X connect 9 0 2 3;
+#X connect 10 0 1 0;
+#X connect 10 0 8 0;
+#X restore 320 624 pd mass;
+#N canvas 470 145 282 116 link 0;
+#X obj 177 23 inlet;
+#X obj 177 78 outlet;
+#X obj 86 23 inlet;
+#X obj 86 78 outlet;
+#X obj 86 51 link3D link 50 10 0;
+#X connect 0 0 4 1;
+#X connect 2 0 4 0;
+#X connect 4 0 3 0;
+#X connect 4 1 1 0;
+#X restore 274 594 pd link;
+#N canvas 663 236 288 320 mass 0;
+#X obj 25 38 inlet;
+#X obj 25 99 outlet;
+#X obj 76 228 translateXYZ 0 0 0;
+#X obj 76 256 sphere 0.3;
+#X obj 121 127 / 100;
+#X obj 168 127 / 100;
+#X obj 76 162 r gemhead;
+#X obj 76 191 separator;
+#X obj 86 100 unpack s f f f;
+#X obj 215 128 / 100;
+#X obj 25 70 mass3D mass 10;
+#X connect 0 0 10 0;
+#X connect 2 0 3 0;
+#X connect 4 0 2 1;
+#X connect 5 0 2 2;
+#X connect 6 0 7 0;
+#X connect 7 0 2 0;
+#X connect 8 1 4 0;
+#X connect 8 2 5 0;
+#X connect 8 3 9 0;
+#X connect 9 0 2 3;
+#X connect 10 0 1 0;
+#X connect 10 0 8 0;
+#X restore 393 626 pd mass;
+#N canvas 470 145 282 116 link 0;
+#X obj 177 23 inlet;
+#X obj 177 78 outlet;
+#X obj 86 23 inlet;
+#X obj 86 78 outlet;
+#X obj 86 51 link3D link 50 10 0;
+#X connect 0 0 4 1;
+#X connect 2 0 4 0;
+#X connect 4 0 3 0;
+#X connect 4 1 1 0;
+#X restore 341 597 pd link;
+#N canvas 663 236 288 320 mass 0;
+#X obj 25 38 inlet;
+#X obj 25 99 outlet;
+#X obj 76 228 translateXYZ 0 0 0;
+#X obj 76 256 sphere 0.3;
+#X obj 121 127 / 100;
+#X obj 168 127 / 100;
+#X obj 76 162 r gemhead;
+#X obj 76 191 separator;
+#X obj 86 100 unpack s f f f;
+#X obj 215 128 / 100;
+#X obj 25 70 mass3D mass 10;
+#X connect 0 0 10 0;
+#X connect 2 0 3 0;
+#X connect 4 0 2 1;
+#X connect 5 0 2 2;
+#X connect 6 0 7 0;
+#X connect 7 0 2 0;
+#X connect 8 1 4 0;
+#X connect 8 2 5 0;
+#X connect 8 3 9 0;
+#X connect 9 0 2 3;
+#X connect 10 0 1 0;
+#X connect 10 0 8 0;
+#X restore 468 627 pd mass;
+#N canvas 470 145 284 118 link 0;
+#X obj 177 23 inlet;
+#X obj 177 78 outlet;
+#X obj 86 23 inlet;
+#X obj 86 78 outlet;
+#X obj 86 51 link3D link 50 10 0;
+#X connect 0 0 4 1;
+#X connect 2 0 4 0;
+#X connect 4 0 3 0;
+#X connect 4 1 1 0;
+#X restore 422 597 pd link;
+#N canvas 663 236 288 320 mass 0;
+#X obj 25 38 inlet;
+#X obj 25 99 outlet;
+#X obj 76 228 translateXYZ 0 0 0;
+#X obj 76 256 sphere 0.3;
+#X obj 121 127 / 100;
+#X obj 168 127 / 100;
+#X obj 76 162 r gemhead;
+#X obj 76 191 separator;
+#X obj 86 100 unpack s f f f;
+#X obj 215 128 / 100;
+#X obj 25 70 mass3D mass 10;
+#X connect 0 0 10 0;
+#X connect 2 0 3 0;
+#X connect 4 0 2 1;
+#X connect 5 0 2 2;
+#X connect 6 0 7 0;
+#X connect 7 0 2 0;
+#X connect 8 1 4 0;
+#X connect 8 2 5 0;
+#X connect 8 3 9 0;
+#X connect 9 0 2 3;
+#X connect 10 0 1 0;
+#X connect 10 0 8 0;
+#X restore 539 627 pd mass;
+#N canvas 470 145 282 116 link 0;
+#X obj 177 23 inlet;
+#X obj 177 78 outlet;
+#X obj 86 23 inlet;
+#X obj 86 78 outlet;
+#X obj 86 51 link3D link 50 10 0;
+#X connect 0 0 4 1;
+#X connect 2 0 4 0;
+#X connect 4 0 3 0;
+#X connect 4 1 1 0;
+#X restore 487 598 pd link;
+#N canvas 470 145 282 116 link 0;
+#X obj 177 23 inlet;
+#X obj 177 78 outlet;
+#X obj 86 23 inlet;
+#X obj 86 78 outlet;
+#X obj 86 51 link3D link 50 10 0;
+#X connect 0 0 4 1;
+#X connect 2 0 4 0;
+#X connect 4 0 3 0;
+#X connect 4 1 1 0;
+#X restore 568 598 pd link;
+#N canvas 663 236 288 320 mass 0;
+#X obj 25 38 inlet;
+#X obj 25 99 outlet;
+#X obj 76 228 translateXYZ 0 0 0;
+#X obj 76 256 sphere 0.3;
+#X obj 121 127 / 100;
+#X obj 168 127 / 100;
+#X obj 76 162 r gemhead;
+#X obj 76 191 separator;
+#X obj 86 100 unpack s f f f;
+#X obj 215 128 / 100;
+#X obj 25 70 mass3D mass 10;
+#X connect 0 0 10 0;
+#X connect 2 0 3 0;
+#X connect 4 0 2 1;
+#X connect 5 0 2 2;
+#X connect 6 0 7 0;
+#X connect 7 0 2 0;
+#X connect 8 1 4 0;
+#X connect 8 2 5 0;
+#X connect 8 3 9 0;
+#X connect 9 0 2 3;
+#X connect 10 0 1 0;
+#X connect 10 0 8 0;
+#X restore 613 627 pd mass;
+#N canvas 663 236 288 320 mass 0;
+#X obj 25 38 inlet;
+#X obj 25 99 outlet;
+#X obj 76 228 translateXYZ 0 0 0;
+#X obj 76 256 sphere 0.3;
+#X obj 121 127 / 100;
+#X obj 168 127 / 100;
+#X obj 76 162 r gemhead;
+#X obj 76 191 separator;
+#X obj 86 100 unpack s f f f;
+#X obj 215 128 / 100;
+#X obj 25 70 mass3D mass 10;
+#X connect 0 0 10 0;
+#X connect 2 0 3 0;
+#X connect 4 0 2 1;
+#X connect 5 0 2 2;
+#X connect 6 0 7 0;
+#X connect 7 0 2 0;
+#X connect 8 1 4 0;
+#X connect 8 2 5 0;
+#X connect 8 3 9 0;
+#X connect 9 0 2 3;
+#X connect 10 0 1 0;
+#X connect 10 0 8 0;
+#X restore 686 629 pd mass;
+#N canvas 470 145 282 116 link 0;
+#X obj 177 23 inlet;
+#X obj 177 78 outlet;
+#X obj 86 23 inlet;
+#X obj 86 78 outlet;
+#X obj 86 51 link3D link 50 10 0;
+#X connect 0 0 4 1;
+#X connect 2 0 4 0;
+#X connect 4 0 3 0;
+#X connect 4 1 1 0;
+#X restore 634 600 pd link;
+#N canvas 663 236 288 320 mass 0;
+#X obj 25 38 inlet;
+#X obj 25 99 outlet;
+#X obj 76 228 translateXYZ 0 0 0;
+#X obj 76 256 sphere 0.3;
+#X obj 121 127 / 100;
+#X obj 168 127 / 100;
+#X obj 76 162 r gemhead;
+#X obj 76 191 separator;
+#X obj 86 100 unpack s f f f;
+#X obj 215 128 / 100;
+#X obj 25 70 mass3D mass 10;
+#X connect 0 0 10 0;
+#X connect 2 0 3 0;
+#X connect 4 0 2 1;
+#X connect 5 0 2 2;
+#X connect 6 0 7 0;
+#X connect 7 0 2 0;
+#X connect 8 1 4 0;
+#X connect 8 2 5 0;
+#X connect 8 3 9 0;
+#X connect 9 0 2 3;
+#X connect 10 0 1 0;
+#X connect 10 0 8 0;
+#X restore 761 630 pd mass;
+#N canvas 470 145 282 116 link 0;
+#X obj 177 23 inlet;
+#X obj 177 78 outlet;
+#X obj 86 23 inlet;
+#X obj 86 78 outlet;
+#X obj 86 51 link3D link 50 10 0;
+#X connect 0 0 4 1;
+#X connect 2 0 4 0;
+#X connect 4 0 3 0;
+#X connect 4 1 1 0;
+#X restore 715 600 pd link;
+#N canvas 663 236 288 320 mass 0;
+#X obj 25 38 inlet;
+#X obj 25 99 outlet;
+#X obj 76 228 translateXYZ 0 0 0;
+#X obj 76 256 sphere 0.3;
+#X obj 121 127 / 100;
+#X obj 168 127 / 100;
+#X obj 76 162 r gemhead;
+#X obj 76 191 separator;
+#X obj 86 100 unpack s f f f;
+#X obj 215 128 / 100;
+#X obj 25 70 mass3D mass 10;
+#X connect 0 0 10 0;
+#X connect 2 0 3 0;
+#X connect 4 0 2 1;
+#X connect 5 0 2 2;
+#X connect 6 0 7 0;
+#X connect 7 0 2 0;
+#X connect 8 1 4 0;
+#X connect 8 2 5 0;
+#X connect 8 3 9 0;
+#X connect 9 0 2 3;
+#X connect 10 0 1 0;
+#X connect 10 0 8 0;
+#X restore 832 630 pd mass;
+#N canvas 470 145 282 116 link 0;
+#X obj 177 23 inlet;
+#X obj 177 78 outlet;
+#X obj 86 23 inlet;
+#X obj 86 78 outlet;
+#X obj 86 51 link3D link 50 10 0;
+#X connect 0 0 4 1;
+#X connect 2 0 4 0;
+#X connect 4 0 3 0;
+#X connect 4 1 1 0;
+#X restore 780 601 pd link;
+#N canvas 663 236 288 320 mass 0;
+#X obj 25 38 inlet;
+#X obj 25 99 outlet;
+#X obj 76 228 translateXYZ 0 0 0;
+#X obj 76 256 sphere 0.3;
+#X obj 121 127 / 100;
+#X obj 168 127 / 100;
+#X obj 76 162 r gemhead;
+#X obj 76 191 separator;
+#X obj 86 100 unpack s f f f;
+#X obj 215 128 / 100;
+#X obj 25 70 mass3D mass 10;
+#X connect 0 0 10 0;
+#X connect 2 0 3 0;
+#X connect 4 0 2 1;
+#X connect 5 0 2 2;
+#X connect 6 0 7 0;
+#X connect 7 0 2 0;
+#X connect 8 1 4 0;
+#X connect 8 2 5 0;
+#X connect 8 3 9 0;
+#X connect 9 0 2 3;
+#X connect 10 0 1 0;
+#X connect 10 0 8 0;
+#X restore 907 631 pd mass;
+#N canvas 470 145 282 116 link 0;
+#X obj 177 23 inlet;
+#X obj 177 78 outlet;
+#X obj 86 23 inlet;
+#X obj 86 78 outlet;
+#X obj 86 51 link3D link 50 10 0;
+#X connect 0 0 4 1;
+#X connect 2 0 4 0;
+#X connect 4 0 3 0;
+#X connect 4 1 1 0;
+#X restore 861 601 pd link;
+#X msg 43 253 reset \, lighting 1 \, create \, 1;
+#X text 433 12 string 3D;
+#X text 25 366 At the initialisation \, all the mass are in the same
+point (0 \, 0). The mass move to find the minimal energy of the system.
+;
+#X text 720 366 <- send forces to all the masss;
+#X text 654 491 <- send forces to specific masss;
+#X text 21 421 The gravity simulation is a force vertical force aply
+to all masss.;
+#X text 710 252 <- rotate the model in 3D;
+#X text 55 78 <- 1;
+#X text 289 255 <- 2;
+#X connect 0 0 1 1;
+#X connect 0 0 48 0;
+#X connect 1 1 0 0;
+#X connect 2 0 18 0;
+#X connect 6 0 8 0;
+#X connect 7 0 9 0;
+#X connect 10 0 6 0;
+#X connect 11 0 10 0;
+#X connect 13 0 12 0;
+#X connect 14 0 11 0;
+#X connect 15 0 38 0;
+#X connect 16 0 7 0;
+#X connect 17 0 21 0;
+#X connect 17 0 46 0;
+#X connect 17 0 20 0;
+#X connect 17 0 45 0;
+#X connect 18 0 19 0;
+#X connect 19 0 4 0;
+#X connect 19 1 3 0;
+#X connect 19 1 39 0;
+#X connect 20 0 14 0;
+#X connect 21 0 16 0;
+#X connect 23 0 22 0;
+#X connect 26 0 27 0;
+#X connect 27 0 25 0;
+#X connect 28 0 27 1;
+#X connect 29 0 27 2;
+#X connect 30 0 27 3;
+#X connect 31 0 0 0;
+#X connect 32 0 0 0;
+#X connect 33 0 0 0;
+#X connect 34 0 5 0;
+#X connect 35 0 5 0;
+#X connect 36 0 5 0;
+#X connect 37 0 1 0;
+#X connect 38 0 8 0;
+#X connect 39 0 4 0;
+#X connect 40 0 55 0;
+#X connect 41 0 55 0;
+#X connect 42 0 55 0;
+#X connect 43 0 44 0;
+#X connect 44 0 8 0;
+#X connect 45 0 43 0;
+#X connect 46 0 15 0;
+#X connect 47 0 48 1;
+#X connect 47 0 50 0;
+#X connect 48 0 0 0;
+#X connect 48 1 47 0;
+#X connect 49 0 50 1;
+#X connect 49 0 52 0;
+#X connect 50 0 47 0;
+#X connect 50 1 49 0;
+#X connect 51 0 52 1;
+#X connect 51 0 54 0;
+#X connect 52 0 49 0;
+#X connect 52 1 51 0;
+#X connect 53 0 54 1;
+#X connect 53 0 56 0;
+#X connect 54 0 51 0;
+#X connect 54 1 53 0;
+#X connect 55 0 56 1;
+#X connect 55 0 58 0;
+#X connect 56 0 53 0;
+#X connect 56 1 55 0;
+#X connect 57 0 58 1;
+#X connect 57 0 59 0;
+#X connect 58 0 55 0;
+#X connect 58 1 57 0;
+#X connect 59 0 57 0;
+#X connect 59 1 60 0;
+#X connect 60 0 62 0;
+#X connect 60 0 59 1;
+#X connect 61 0 62 1;
+#X connect 61 0 64 0;
+#X connect 62 0 60 0;
+#X connect 62 1 61 0;
+#X connect 63 0 64 1;
+#X connect 63 0 66 0;
+#X connect 64 0 61 0;
+#X connect 64 1 63 0;
+#X connect 65 0 66 1;
+#X connect 65 0 68 0;
+#X connect 66 0 63 0;
+#X connect 66 1 65 0;
+#X connect 67 0 68 1;
+#X connect 68 0 65 0;
+#X connect 68 1 67 0;
+#X connect 69 0 12 0;
diff --git a/examples/08_ball2D.pd b/examples/08_ball2D.pd
new file mode 100644
index 0000000..6e9fb1a
--- /dev/null
+++ b/examples/08_ball2D.pd
@@ -0,0 +1,315 @@
+#N canvas 266 27 837 614 12;
+#X obj 212 146 t b b;
+#X obj 212 98 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1
+;
+#X obj 36 384 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X msg 62 90 0 \, destroy;
+#X obj 28 118 gemwin;
+#X msg 28 65 reset \, create \, 1;
+#N canvas 510 193 994 722 structure 0;
+#X obj 124 314 pd_lia \$0;
+#X obj 213 373 pd_lia \$0;
+#X obj 49 445 pd_lia \$0;
+#X obj 198 502 pd_lia \$0;
+#X obj 189 113 pd_lia \$0;
+#X obj 69 161 pd_lia \$0;
+#X obj 201 187 pd_lia \$0;
+#X obj 279 598 pd_lia \$0;
+#X obj 410 562 pd_lia \$0;
+#X obj 580 585 pd_lia \$0;
+#X obj 310 327 pd_lia \$0;
+#X obj 388 330 pd_lia \$0;
+#X obj 468 330 pd_lia \$0;
+#X obj 338 427 pd_lia \$0;
+#X obj 509 422 pd_lia \$0;
+#X obj 304 26 pd_lia \$0;
+#X obj 441 57 pd_lia \$0;
+#X obj 347 129 pd_lia \$0;
+#X obj 308 231 pd_lia \$0;
+#X obj 304 280 pd_lia \$0;
+#X obj 393 227 pd_lia \$0;
+#X obj 475 227 pd_lia \$0;
+#X obj 562 277 pd_lia \$0;
+#X obj 604 358 pd_lia \$0;
+#X obj 678 291 pd_lia \$0;
+#X obj 604 221 pd_lia \$0;
+#X obj 499 135 pd_lia \$0;
+#X obj 571 43 pd_lia \$0;
+#X obj 612 101 pd_lia \$0;
+#X obj 749 179 pd_lia \$0;
+#X obj 763 429 pd_lia \$0;
+#X obj 671 510 pd_lia \$0;
+#X obj 28 21 inlet;
+#N canvas 0 0 450 300 lia 0;
+#X obj 266 35 inlet;
+#X obj 274 100 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X obj 47 61 lia2D lia 0 10 10 0.001;
+#X connect 0 0 4 1;
+#X connect 2 0 4 0;
+#X connect 4 0 3 0;
+#X connect 4 1 1 0;
+#X restore 28 52 pd lia;
+#X obj 27 290 pd_masse -1 0 \$0;
+#X obj 37 101 loadbang;
+#X obj 554 253 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 407 274 pd_masse 0 0 \$0;
+#X obj 124 43 pd_masse -0.7 0.7 \$0;
+#X obj 123 558 pd_masse -0.7 -0.7 \$0;
+#X obj 399 624 pd_masse 0 -1 \$0;
+#X obj 436 16 pd_masse 0 1 \$0;
+#X obj 680 64 pd_masse 0.7 0.7 \$0;
+#X obj 766 285 pd_masse 1 0 \$0;
+#X obj 748 552 pd_masse 0.7 -0.7 \$0;
+#X connect 0 0 38 0;
+#X connect 0 1 39 0;
+#X connect 1 0 38 0;
+#X connect 1 1 40 0;
+#X connect 2 0 34 0;
+#X connect 2 1 39 0;
+#X connect 3 0 34 0;
+#X connect 3 1 40 0;
+#X connect 4 0 34 0;
+#X connect 4 1 41 0;
+#X connect 5 0 34 0;
+#X connect 5 1 38 0;
+#X connect 6 0 41 0;
+#X connect 6 1 39 0;
+#X connect 7 0 39 0;
+#X connect 7 1 40 0;
+#X connect 8 0 39 0;
+#X connect 8 1 44 0;
+#X connect 9 0 40 0;
+#X connect 9 1 44 0;
+#X connect 10 0 39 0;
+#X connect 10 1 37 0;
+#X connect 11 0 37 0;
+#X connect 11 1 40 0;
+#X connect 12 0 37 0;
+#X connect 12 1 44 0;
+#X connect 13 0 34 0;
+#X connect 13 1 44 0;
+#X connect 14 0 39 0;
+#X connect 14 1 43 0;
+#X connect 15 0 38 0;
+#X connect 15 1 41 0;
+#X connect 16 0 38 0;
+#X connect 16 1 42 0;
+#X connect 17 0 34 0;
+#X connect 17 1 42 0;
+#X connect 18 0 38 0;
+#X connect 18 1 37 0;
+#X connect 19 0 34 0;
+#X connect 19 1 37 0;
+#X connect 20 0 37 0;
+#X connect 20 1 41 0;
+#X connect 21 0 37 0;
+#X connect 21 1 42 0;
+#X connect 22 0 37 0;
+#X connect 22 1 43 0;
+#X connect 23 0 40 0;
+#X connect 23 1 42 0;
+#X connect 24 0 44 0;
+#X connect 24 1 42 0;
+#X connect 25 0 41 0;
+#X connect 25 1 44 0;
+#X connect 26 0 38 0;
+#X connect 26 1 43 0;
+#X connect 27 0 41 0;
+#X connect 27 1 42 0;
+#X connect 28 0 41 0;
+#X connect 28 1 43 0;
+#X connect 29 0 42 0;
+#X connect 29 1 43 0;
+#X connect 30 0 43 0;
+#X connect 30 1 44 0;
+#X connect 31 0 40 0;
+#X connect 31 1 43 0;
+#X connect 32 0 33 0;
+#X connect 33 1 37 0;
+#X connect 34 0 2 0;
+#X connect 34 0 3 0;
+#X connect 34 0 4 0;
+#X connect 34 0 5 0;
+#X connect 34 0 13 0;
+#X connect 34 0 17 0;
+#X connect 34 0 19 0;
+#X connect 35 0 37 1;
+#X connect 36 0 37 1;
+#X connect 37 0 10 1;
+#X connect 37 0 11 0;
+#X connect 37 0 12 0;
+#X connect 37 0 18 1;
+#X connect 37 0 19 1;
+#X connect 37 0 20 0;
+#X connect 37 0 21 0;
+#X connect 37 0 22 0;
+#X connect 37 0 33 1;
+#X connect 38 0 0 0;
+#X connect 38 0 1 0;
+#X connect 38 0 5 1;
+#X connect 38 0 15 0;
+#X connect 38 0 16 0;
+#X connect 38 0 18 0;
+#X connect 38 0 26 0;
+#X connect 39 0 0 1;
+#X connect 39 0 2 1;
+#X connect 39 0 6 1;
+#X connect 39 0 7 0;
+#X connect 39 0 8 0;
+#X connect 39 0 10 0;
+#X connect 39 0 14 0;
+#X connect 40 0 1 1;
+#X connect 40 0 3 1;
+#X connect 40 0 7 1;
+#X connect 40 0 9 0;
+#X connect 40 0 11 1;
+#X connect 40 0 23 0;
+#X connect 40 0 31 0;
+#X connect 41 0 4 1;
+#X connect 41 0 6 0;
+#X connect 41 0 15 1;
+#X connect 41 0 20 1;
+#X connect 41 0 25 0;
+#X connect 41 0 27 0;
+#X connect 41 0 28 0;
+#X connect 42 0 16 1;
+#X connect 42 0 17 1;
+#X connect 42 0 21 1;
+#X connect 42 0 23 1;
+#X connect 42 0 24 1;
+#X connect 42 0 27 1;
+#X connect 42 0 29 0;
+#X connect 43 0 14 1;
+#X connect 43 0 22 1;
+#X connect 43 0 26 1;
+#X connect 43 0 28 1;
+#X connect 43 0 29 1;
+#X connect 43 0 30 0;
+#X connect 43 0 31 1;
+#X connect 44 0 8 1;
+#X connect 44 0 9 1;
+#X connect 44 0 12 1;
+#X connect 44 0 13 1;
+#X connect 44 0 24 0;
+#X connect 44 0 25 1;
+#X connect 44 0 30 1;
+#X restore 39 346 pd structure;
+#X msg 284 401 force2D 0 5;
+#X msg 340 427 force2D 5 0;
+#X obj 212 119 metro 50;
+#X obj 55 383 loadbang;
+#X msg 286 455 force2D 0 -5;
+#X msg 229 428 force2D -5 0;
+#X obj 247 171 s \$0-lia;
+#X obj 285 487 s \$0-masse;
+#X msg 87 439 reset;
+#X msg 61 491 resetL;
+#X msg 36 517 resetF;
+#X obj 36 411 t b b b;
+#X text 223 250 ambient Force \, simulating gravity;
+#X text 179 63 <- create Gem windows;
+#X obj 36 548 s \$0-lia;
+#X obj 87 464 s \$0-masse;
+#X text 251 96 <- on / off;
+#X text 451 425 <- send forces to the structure;
+#X text 222 549 If the line does not display corectly \, you sould
+upgrade GEM;
+#X obj 37 260 square 3.9;
+#X obj 37 203 gemhead 11;
+#X obj 37 231 color 0 0.5 0;
+#X msg 209 293 \; pd dsp 1 \;;
+#X msg 291 292 \; pd dsp 0 \;;
+#X text 236 11 Forces aply to a mass create sound.;
+#X text 234 31 each masse got a diferent frequency;
+#X msg 517 312 setK \$1;
+#X msg 591 286 setD \$1;
+#X msg 733 258 setM \$1;
+#X floatatom 517 237 5 -10 200 0 - - -;
+#X floatatom 591 235 5 0 0 0 - - -;
+#X floatatom 733 235 5 0 0 0 - - -;
+#X obj 517 286 / 10;
+#X obj 517 260 + 1;
+#X obj 591 259 / 10;
+#X msg 517 210 100;
+#X msg 591 211 25;
+#X msg 733 209 50;
+#X floatatom 658 235 5 0 0 0 - - -;
+#X obj 658 259 / 10;
+#X msg 658 286 setD2 \$1;
+#X msg 658 211 1;
+#X obj 517 344 s \$0-lia;
+#X obj 733 286 s \$0-masse;
+#X text 517 157 you can change physical properties;
+#X text 515 182 this will change the sound;
+#X floatatom 373 143 5 0 0 0 - - -;
+#X msg 373 167 setFY \$1;
+#N canvas 316 568 450 300 gemmouse 0;
+#X obj 31 26 gemmouse;
+#X obj 31 57 / 62.5;
+#X obj 31 80 - 4;
+#X obj 31 133 pack f f;
+#X msg 31 158 position2D \$1 \$2;
+#X obj 155 109 spigot;
+#X obj 152 82 r \$0-lia;
+#X obj 154 135 s lia;
+#X obj 66 83 / -62.5;
+#X obj 66 106 + 4;
+#X obj 32 193 outlet;
+#X connect 0 0 1 0;
+#X connect 0 1 8 0;
+#X connect 0 2 5 1;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 4 0 10 0;
+#X connect 5 0 7 0;
+#X connect 6 0 5 0;
+#X connect 8 0 9 0;
+#X connect 9 0 3 1;
+#X restore 39 319 pd gemmouse;
+#X obj 212 199 s \$0-mass;
+#X obj 274 226 iAmbient2D \$0-mass 0 -0.2;
+#X connect 0 0 56 0;
+#X connect 0 1 13 0;
+#X connect 0 1 57 0;
+#X connect 1 0 9 0;
+#X connect 2 0 18 0;
+#X connect 3 0 4 0;
+#X connect 5 0 4 0;
+#X connect 7 0 14 0;
+#X connect 8 0 14 0;
+#X connect 9 0 0 0;
+#X connect 10 0 18 0;
+#X connect 11 0 14 0;
+#X connect 12 0 14 0;
+#X connect 15 0 22 0;
+#X connect 16 0 21 0;
+#X connect 17 0 21 0;
+#X connect 18 0 17 0;
+#X connect 18 1 16 0;
+#X connect 18 2 15 0;
+#X connect 27 0 28 0;
+#X connect 28 0 26 0;
+#X connect 33 0 49 0;
+#X connect 34 0 49 0;
+#X connect 35 0 50 0;
+#X connect 36 0 40 0;
+#X connect 37 0 41 0;
+#X connect 38 0 35 0;
+#X connect 39 0 33 0;
+#X connect 40 0 39 0;
+#X connect 41 0 34 0;
+#X connect 42 0 36 0;
+#X connect 43 0 37 0;
+#X connect 44 0 38 0;
+#X connect 45 0 46 0;
+#X connect 46 0 47 0;
+#X connect 47 0 49 0;
+#X connect 48 0 45 0;
+#X connect 53 0 54 0;
+#X connect 54 0 57 0;
+#X connect 55 0 6 0;
diff --git a/examples/09_tutorial2D.pd b/examples/09_tutorial2D.pd
new file mode 100644
index 0000000..6e8e9d3
--- /dev/null
+++ b/examples/09_tutorial2D.pd
@@ -0,0 +1,269 @@
+#N canvas 57 28 600 601 12;
+#N canvas 623 135 520 309 init 0;
+#X msg 200 169 setK \$1;
+#X msg 274 143 setD \$1;
+#X msg 416 115 setM \$1;
+#X floatatom 200 94 5 -10 200 0 - - -;
+#X floatatom 274 92 5 0 0 0 - - -;
+#X floatatom 416 92 5 0 0 0 - - -;
+#X obj 416 143 s mass;
+#X obj 200 143 / 10;
+#X obj 200 117 + 1;
+#X obj 274 116 / 10;
+#X msg 200 67 100;
+#X msg 274 68 25;
+#X msg 416 66 50;
+#X obj 49 50 loadbang;
+#X floatatom 341 92 5 0 0 0 - - -;
+#X obj 341 116 / 10;
+#X msg 341 143 setD2 \$1;
+#X msg 341 68 1;
+#X obj 139 23 inlet;
+#X obj 47 201 s tut_mass;
+#X obj 200 201 s tut_link;
+#X msg 44 84 setXmin -3.8;
+#X msg 58 110 setXmax 3.8;
+#X msg 81 131 setYmin -3.8;
+#X msg 95 157 setYmax 3.8;
+#X connect 0 0 20 0;
+#X connect 1 0 20 0;
+#X connect 2 0 6 0;
+#X connect 3 0 8 0;
+#X connect 4 0 9 0;
+#X connect 5 0 2 0;
+#X connect 7 0 0 0;
+#X connect 8 0 7 0;
+#X connect 9 0 1 0;
+#X connect 10 0 3 0;
+#X connect 11 0 4 0;
+#X connect 12 0 5 0;
+#X connect 13 0 21 0;
+#X connect 13 0 22 0;
+#X connect 13 0 23 0;
+#X connect 13 0 24 0;
+#X connect 14 0 15 0;
+#X connect 15 0 16 0;
+#X connect 16 0 20 0;
+#X connect 17 0 14 0;
+#X connect 18 0 21 0;
+#X connect 18 0 22 0;
+#X connect 18 0 23 0;
+#X connect 18 0 24 0;
+#X connect 21 0 19 0;
+#X connect 22 0 19 0;
+#X connect 23 0 19 0;
+#X connect 24 0 19 0;
+#X restore 168 43 pd init;
+#X obj 42 92 t b b;
+#X obj 42 44 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 329 22 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X msg 75 231 0 \, destroy;
+#X obj 41 259 gemwin;
+#X msg 41 206 reset \, create \, 1;
+#N canvas 115 18 1382 984 structure 0;
+#X obj 503 58 tut_link;
+#X obj 193 331 tut_link;
+#X obj 243 219 tut_link;
+#X obj 353 120 tut_link;
+#X obj 1022 465 tut_link;
+#X obj 791 778 tut_link;
+#X obj 910 681 tut_link;
+#X obj 997 574 tut_link;
+#X obj 988 236 tut_link;
+#X obj 746 55 tut_link;
+#X obj 907 142 tut_link;
+#X obj 1009 345 tut_link;
+#X obj 556 793 tut_link;
+#X obj 188 450 tut_link;
+#X obj 252 593 tut_link;
+#X obj 384 717 tut_link;
+#X obj 654 751 tut_link;
+#X obj 801 707 tut_link;
+#X obj 850 622 tut_link;
+#X obj 902 500 tut_link;
+#X obj 908 405 tut_link;
+#X obj 907 301 tut_link;
+#X obj 865 207 tut_link;
+#X obj 769 154 tut_link;
+#X obj 226 276 tut_mass -0.9 0.4;
+#X obj 422 90 tut_mass -0.4 0.9;
+#X obj 997 291 tut_mass 0.9 0.4;
+#X obj 637 815 tut_mass 0 -1;
+#X obj 972 633 tut_mass 0.7 -0.7;
+#X obj 947 189 tut_mass 0.7 0.7;
+#X obj 173 374 tut_mass -1 0;
+#X obj 272 165 tut_mass -0.7 0.7;
+#X obj 304 648 tut_mass -0.7 -0.7;
+#X obj 837 97 tut_mass 0.4 0.9;
+#X obj 207 520 tut_mass -0.9 -0.4;
+#X obj 1015 400 tut_mass 1 0;
+#X obj 445 758 tut_mass -0.4 -0.9;
+#X obj 873 734 tut_mass 0.4 -0.9;
+#X obj 598 28 tut_mass 0 1;
+#X obj 1017 517 tut_mass 0.9 -0.4;
+#X connect 0 0 25 0;
+#X connect 0 1 38 0;
+#X connect 1 0 30 0;
+#X connect 1 1 24 0;
+#X connect 2 0 31 0;
+#X connect 2 1 24 0;
+#X connect 3 0 31 0;
+#X connect 3 1 25 0;
+#X connect 4 0 39 0;
+#X connect 4 1 35 0;
+#X connect 5 0 27 0;
+#X connect 5 1 37 0;
+#X connect 6 0 37 0;
+#X connect 6 1 28 0;
+#X connect 7 0 28 0;
+#X connect 7 1 39 0;
+#X connect 8 0 29 0;
+#X connect 8 1 26 0;
+#X connect 9 0 38 0;
+#X connect 9 1 33 0;
+#X connect 10 0 33 0;
+#X connect 10 1 29 0;
+#X connect 11 0 26 0;
+#X connect 11 1 35 0;
+#X connect 12 0 36 0;
+#X connect 12 1 27 0;
+#X connect 13 0 30 0;
+#X connect 13 1 34 0;
+#X connect 14 0 34 0;
+#X connect 14 1 32 0;
+#X connect 15 0 32 0;
+#X connect 15 1 36 0;
+#X connect 16 0 38 0;
+#X connect 16 1 27 0;
+#X connect 17 0 25 0;
+#X connect 17 1 37 0;
+#X connect 18 0 31 0;
+#X connect 18 1 28 0;
+#X connect 19 0 24 0;
+#X connect 19 1 39 0;
+#X connect 20 0 30 0;
+#X connect 20 1 35 0;
+#X connect 21 0 34 0;
+#X connect 21 1 26 0;
+#X connect 22 0 32 0;
+#X connect 22 1 29 0;
+#X connect 23 0 36 0;
+#X connect 23 1 33 0;
+#X connect 24 0 1 1;
+#X connect 24 0 2 1;
+#X connect 24 0 19 0;
+#X connect 25 0 0 0;
+#X connect 25 0 3 1;
+#X connect 25 0 17 0;
+#X connect 26 0 8 1;
+#X connect 26 0 11 0;
+#X connect 26 0 21 1;
+#X connect 27 0 5 0;
+#X connect 27 0 12 1;
+#X connect 27 0 16 1;
+#X connect 28 0 7 0;
+#X connect 28 0 6 1;
+#X connect 28 0 18 1;
+#X connect 29 0 8 0;
+#X connect 29 0 10 1;
+#X connect 29 0 22 1;
+#X connect 30 0 1 0;
+#X connect 30 0 13 0;
+#X connect 30 0 20 0;
+#X connect 31 0 2 0;
+#X connect 31 0 3 0;
+#X connect 31 0 18 0;
+#X connect 32 0 15 0;
+#X connect 32 0 14 1;
+#X connect 32 0 22 0;
+#X connect 33 0 10 0;
+#X connect 33 0 9 1;
+#X connect 33 0 23 1;
+#X connect 34 0 13 1;
+#X connect 34 0 14 0;
+#X connect 34 0 21 0;
+#X connect 35 0 4 1;
+#X connect 35 0 11 1;
+#X connect 35 0 20 1;
+#X connect 36 0 12 0;
+#X connect 36 0 15 1;
+#X connect 36 0 23 0;
+#X connect 37 0 5 1;
+#X connect 37 0 6 0;
+#X connect 37 0 17 1;
+#X connect 38 0 0 1;
+#X connect 38 0 9 0;
+#X connect 38 0 16 0;
+#X connect 39 0 4 0;
+#X connect 39 0 7 1;
+#X connect 39 0 19 1;
+#X restore 417 325 pd structure;
+#X obj 329 45 loadbang;
+#X msg 244 270 force2D 0 2;
+#X msg 190 295 force2D -2 0;
+#X msg 247 322 force2D 0 -2;
+#X msg 301 294 force2D 2 0;
+#X obj 329 74 t b b b;
+#X msg 380 99 reset;
+#X msg 355 124 resetL;
+#X msg 329 152 resetF;
+#X obj 42 65 metro 50;
+#X msg 54 150 force2D 0 -0.1;
+#X obj 168 22 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 246 354 s tut_mass;
+#X obj 42 178 s tut_mass;
+#X obj 77 117 s tut_link;
+#X text 39 403 You can use this exemple to try to make you own structure.
+;
+#X text 58 506 Go to pd structure;
+#X text 59 526 Remove everything;
+#X text 41 427 look at the structure \, and look a the patch : a link
+is corespnding to a segment \, and a maase is a white sphere;
+#X text 41 462 everyting is here to make a 2D structure easilly;
+#X text 40 486 to make your own strucute :;
+#X text 59 546 put "tut_mass" object in the screen where you want
+to put your mass in the gem windows.;
+#X text 58 658 create a "tut_link" object for each link you whant to
+put in the structure.;
+#X text 60 726 The structure is ready. you should now do the initialisation
+part :;
+#X text 222 19 <- init;
+#X text 375 20 <- reset;
+#X text 59 763 click on pd init : this will give a minimal and maximal
+position to the mass. (for them to stay on the screen).;
+#X text 60 806 click on reset : this will tell the link to learn there
+good initial lenght \, reset forces etc...;
+#X text 59 584 when all mass are there \, you can specifie them ther
+initial position : edit "tut_mass" object and add 2 float corresponding
+to ther X and Y position in the GEM screen. (should be about from -4
+to 4);
+#X text 59 694 connect them to the mass (link and masss as to be
+connected in 2 way : mass to link and link to mass).;
+#X text 61 846 now \, you are ready for toggle the metro on...;
+#X text 30 887 If the line does not display corectly \, you sould upgrade
+GEM;
+#X text 192 204 <- create;
+#X connect 1 0 21 0;
+#X connect 1 1 18 0;
+#X connect 1 1 22 0;
+#X connect 2 0 17 0;
+#X connect 3 0 13 0;
+#X connect 4 0 5 0;
+#X connect 6 0 5 0;
+#X connect 8 0 13 0;
+#X connect 9 0 20 0;
+#X connect 10 0 20 0;
+#X connect 11 0 20 0;
+#X connect 12 0 20 0;
+#X connect 13 0 16 0;
+#X connect 13 1 15 0;
+#X connect 13 2 14 0;
+#X connect 14 0 21 0;
+#X connect 15 0 22 0;
+#X connect 16 0 22 0;
+#X connect 17 0 1 0;
+#X connect 18 0 21 0;
+#X connect 19 0 0 0;
diff --git a/examples/10_game.pd b/examples/10_game.pd
new file mode 100644
index 0000000..eb95965
--- /dev/null
+++ b/examples/10_game.pd
@@ -0,0 +1,908 @@
+#N canvas 507 158 593 464 12;
+#N canvas 623 135 500 289 init 0;
+#X msg 200 169 setK \$1;
+#X msg 274 143 setD \$1;
+#X msg 416 115 setM \$1;
+#X floatatom 200 94 5 -10 200 0 - - -;
+#X floatatom 274 92 5 0 0 0 - - -;
+#X floatatom 416 92 5 0 0 0 - - -;
+#X obj 416 143 s mass;
+#X obj 200 143 / 10;
+#X obj 200 117 + 1;
+#X obj 274 116 / 10;
+#X msg 200 67 100;
+#X msg 274 68 25;
+#X msg 416 66 50;
+#X obj 47 50 loadbang;
+#X floatatom 341 92 5 0 0 0 - - -;
+#X obj 341 116 / 10;
+#X msg 341 143 setD2 \$1;
+#X msg 341 68 1;
+#X obj 47 201 s \$0-mass;
+#X obj 200 201 s \$0-link;
+#X msg 47 84 setXmin -3.8;
+#X msg 61 107 setXmax 3.8;
+#X msg 77 130 setYmin -3.8;
+#X msg 90 153 setYmax 3.8;
+#X connect 0 0 19 0;
+#X connect 1 0 19 0;
+#X connect 2 0 6 0;
+#X connect 3 0 8 0;
+#X connect 4 0 9 0;
+#X connect 5 0 2 0;
+#X connect 7 0 0 0;
+#X connect 8 0 7 0;
+#X connect 9 0 1 0;
+#X connect 10 0 3 0;
+#X connect 11 0 4 0;
+#X connect 12 0 5 0;
+#X connect 13 0 20 0;
+#X connect 13 0 21 0;
+#X connect 13 0 22 0;
+#X connect 13 0 23 0;
+#X connect 14 0 15 0;
+#X connect 15 0 16 0;
+#X connect 16 0 19 0;
+#X connect 17 0 14 0;
+#X connect 20 0 18 0;
+#X connect 21 0 18 0;
+#X connect 22 0 18 0;
+#X connect 23 0 18 0;
+#X restore 429 282 pd init;
+#X obj 30 69 t b b;
+#X obj 30 21 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1
+;
+#X obj 343 10 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X msg 64 218 0 \, destroy;
+#X obj 30 246 gemwin;
+#X msg 30 193 reset \, create \, 1;
+#N canvas 298 0 776 832 structure 0;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 29 94 pd link;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 80 187 pd link;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 36 296 pd link;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 33 499 pd link;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 35 675 pd link;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 87 740 pd link;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 88 716 pd link;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 81 574 pd link;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 82 548 pd link;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 71 370 pd link;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 72 345 pd link;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 359 17 pd link;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 354 206 pd link;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 342 400 pd link;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 354 608 pd link;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 349 770 pd link;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 601 748 pd link;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 601 726 pd link;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 657 680 pd link;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 604 579 pd link;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 604 555 pd link;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 651 490 pd link;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 578 365 pd link;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 576 342 pd link;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 642 293 pd link;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 575 180 pd link;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 643 101 pd link;
+#N canvas 0 0 454 304 mass 0;
+#X obj 26 38 inlet;
+#X obj 11 137 outlet;
+#X obj 25 104 unpack s f f;
+#X obj 285 48 gemhead;
+#X obj 284 89 translateXYZ;
+#X obj 281 131 sphere 0.1;
+#X obj 24 65 mass2D \$0-mass 50 -0.3 2;
+#X connect 0 0 6 0;
+#X connect 2 1 4 1;
+#X connect 2 2 4 2;
+#X connect 3 0 4 0;
+#X connect 4 0 5 0;
+#X connect 6 0 2 0;
+#X connect 6 0 1 0;
+#X restore 30 7 pd mass;
+#N canvas 0 0 454 304 mass 0;
+#X obj 26 38 inlet;
+#X obj 11 137 outlet;
+#X obj 25 104 unpack s f f;
+#X obj 285 48 gemhead;
+#X obj 284 89 translateXYZ;
+#X obj 281 131 sphere 0.1;
+#X obj 24 65 mass2D \$0-mass 50 -0.3 1.5;
+#X connect 0 0 6 0;
+#X connect 2 1 4 1;
+#X connect 2 2 4 2;
+#X connect 3 0 4 0;
+#X connect 4 0 5 0;
+#X connect 6 0 2 0;
+#X connect 6 0 1 0;
+#X restore 32 214 pd mass;
+#N canvas 0 0 458 308 mass 0;
+#X obj 26 38 inlet;
+#X obj 11 137 outlet;
+#X obj 25 104 unpack s f f;
+#X obj 285 48 gemhead;
+#X obj 284 89 translateXYZ;
+#X obj 281 131 sphere 0.1;
+#X obj 24 65 mass2D \$0-mass 50 -0.3 1;
+#X connect 0 0 6 0;
+#X connect 2 1 4 1;
+#X connect 2 2 4 2;
+#X connect 3 0 4 0;
+#X connect 4 0 5 0;
+#X connect 6 0 2 0;
+#X connect 6 0 1 0;
+#X restore 35 398 pd mass;
+#N canvas 0 0 454 304 mass 0;
+#X obj 26 38 inlet;
+#X obj 11 137 outlet;
+#X obj 25 104 unpack s f f;
+#X obj 285 48 gemhead;
+#X obj 284 89 translateXYZ;
+#X obj 281 131 sphere 0.1;
+#X obj 24 65 mass2D \$0-mass 50 -0.3 0.5;
+#X connect 0 0 6 0;
+#X connect 2 1 4 1;
+#X connect 2 2 4 2;
+#X connect 3 0 4 0;
+#X connect 4 0 5 0;
+#X connect 6 0 2 0;
+#X connect 6 0 1 0;
+#X restore 38 611 pd mass;
+#N canvas 0 0 454 304 mass 0;
+#X obj 26 38 inlet;
+#X obj 11 137 outlet;
+#X obj 25 104 unpack s f f;
+#X obj 285 48 gemhead;
+#X obj 284 89 translateXYZ;
+#X obj 281 131 sphere 0.1;
+#X obj 24 65 mass2D \$0-mass 50 -0.3 0;
+#X connect 0 0 6 0;
+#X connect 2 1 4 1;
+#X connect 2 2 4 2;
+#X connect 3 0 4 0;
+#X connect 4 0 5 0;
+#X connect 6 0 2 0;
+#X connect 6 0 1 0;
+#X restore 32 768 pd mass;
+#N canvas 0 0 454 304 mass 0;
+#X obj 26 38 inlet;
+#X obj 11 137 outlet;
+#X obj 25 104 unpack s f f;
+#X obj 285 48 gemhead;
+#X obj 284 89 translateXYZ;
+#X obj 281 131 sphere 0.1;
+#X obj 23 66 mass2D \$0-mass 50 0.3 2;
+#X connect 0 0 6 0;
+#X connect 2 1 4 1;
+#X connect 2 2 4 2;
+#X connect 3 0 4 0;
+#X connect 4 0 5 0;
+#X connect 6 0 2 0;
+#X connect 6 0 1 0;
+#X restore 642 14 pd mass;
+#N canvas 0 0 454 304 mass 0;
+#X obj 26 38 inlet;
+#X obj 11 137 outlet;
+#X obj 25 104 unpack s f f;
+#X obj 285 48 gemhead;
+#X obj 284 89 translateXYZ;
+#X obj 281 131 sphere 0.1;
+#X obj 24 65 mass2D \$0-mass 50 0.3 1.5;
+#X connect 0 0 6 0;
+#X connect 2 1 4 1;
+#X connect 2 2 4 2;
+#X connect 3 0 4 0;
+#X connect 4 0 5 0;
+#X connect 6 0 2 0;
+#X connect 6 0 1 0;
+#X restore 640 202 pd mass;
+#N canvas 0 0 454 304 mass 0;
+#X obj 26 38 inlet;
+#X obj 11 137 outlet;
+#X obj 25 104 unpack s f f;
+#X obj 285 48 gemhead;
+#X obj 284 89 translateXYZ;
+#X obj 281 131 sphere 0.1;
+#X obj 25 65 mass2D \$0-mass 50 0.3 1;
+#X connect 0 0 6 0;
+#X connect 2 1 4 1;
+#X connect 2 2 4 2;
+#X connect 3 0 4 0;
+#X connect 4 0 5 0;
+#X connect 6 0 2 0;
+#X connect 6 0 1 0;
+#X restore 647 393 pd mass;
+#N canvas 0 0 454 304 mass 0;
+#X obj 26 38 inlet;
+#X obj 11 137 outlet;
+#X obj 25 104 unpack s f f;
+#X obj 285 48 gemhead;
+#X obj 284 89 translateXYZ;
+#X obj 281 131 sphere 0.1;
+#X obj 24 65 mass2D \$0-mass 50 0.3 0.5;
+#X connect 0 0 6 0;
+#X connect 2 1 4 1;
+#X connect 2 2 4 2;
+#X connect 3 0 4 0;
+#X connect 4 0 5 0;
+#X connect 6 0 2 0;
+#X connect 6 0 1 0;
+#X restore 655 614 pd mass;
+#N canvas 0 0 456 306 mass 0;
+#X obj 26 38 inlet;
+#X obj 11 137 outlet;
+#X obj 25 104 unpack s f f;
+#X obj 285 48 gemhead;
+#X obj 284 89 translateXYZ;
+#X obj 281 131 sphere 0.1;
+#X obj 24 65 mass2D \$0-mass 50 0.3 0;
+#X connect 0 0 6 0;
+#X connect 2 1 4 1;
+#X connect 2 2 4 2;
+#X connect 3 0 4 0;
+#X connect 4 0 5 0;
+#X connect 6 0 2 0;
+#X connect 6 0 1 0;
+#X restore 654 776 pd mass;
+#X connect 0 0 27 0;
+#X connect 0 1 28 0;
+#X connect 1 0 28 0;
+#X connect 1 1 32 0;
+#X connect 2 0 28 0;
+#X connect 2 1 29 0;
+#X connect 3 0 29 0;
+#X connect 3 1 30 0;
+#X connect 4 0 30 0;
+#X connect 4 1 31 0;
+#X connect 5 0 31 0;
+#X connect 5 1 35 0;
+#X connect 6 0 31 0;
+#X connect 6 1 34 0;
+#X connect 7 0 30 0;
+#X connect 7 1 34 0;
+#X connect 8 0 30 0;
+#X connect 8 1 33 0;
+#X connect 9 0 29 0;
+#X connect 9 1 33 0;
+#X connect 10 0 29 0;
+#X connect 10 1 32 0;
+#X connect 11 0 27 0;
+#X connect 11 1 32 0;
+#X connect 12 0 28 0;
+#X connect 12 1 33 0;
+#X connect 13 0 29 0;
+#X connect 13 1 34 0;
+#X connect 14 0 30 0;
+#X connect 14 1 35 0;
+#X connect 15 0 31 0;
+#X connect 15 1 36 0;
+#X connect 16 0 30 0;
+#X connect 16 1 36 0;
+#X connect 17 0 29 0;
+#X connect 17 1 36 0;
+#X connect 18 0 35 0;
+#X connect 18 1 36 0;
+#X connect 19 0 29 0;
+#X connect 19 1 35 0;
+#X connect 20 0 28 0;
+#X connect 20 1 35 0;
+#X connect 21 0 34 0;
+#X connect 21 1 35 0;
+#X connect 22 0 28 0;
+#X connect 22 1 34 0;
+#X connect 23 0 27 0;
+#X connect 23 1 34 0;
+#X connect 24 0 33 0;
+#X connect 24 1 34 0;
+#X connect 25 0 27 0;
+#X connect 25 1 33 0;
+#X connect 26 0 32 0;
+#X connect 26 1 33 0;
+#X connect 27 0 0 0;
+#X connect 27 0 11 0;
+#X connect 27 0 25 0;
+#X connect 27 0 23 0;
+#X connect 28 0 0 1;
+#X connect 28 0 2 0;
+#X connect 28 0 12 0;
+#X connect 28 0 1 0;
+#X connect 28 0 22 0;
+#X connect 28 0 20 0;
+#X connect 29 0 2 1;
+#X connect 29 0 3 0;
+#X connect 29 0 13 0;
+#X connect 29 0 9 0;
+#X connect 29 0 10 0;
+#X connect 29 0 19 0;
+#X connect 29 0 17 0;
+#X connect 30 0 3 1;
+#X connect 30 0 4 0;
+#X connect 30 0 14 0;
+#X connect 30 0 7 0;
+#X connect 30 0 8 0;
+#X connect 30 0 16 0;
+#X connect 31 0 4 1;
+#X connect 31 0 15 0;
+#X connect 31 0 5 0;
+#X connect 31 0 6 0;
+#X connect 32 0 26 0;
+#X connect 32 0 11 1;
+#X connect 32 0 1 1;
+#X connect 32 0 10 1;
+#X connect 33 0 26 1;
+#X connect 33 0 24 0;
+#X connect 33 0 12 1;
+#X connect 33 0 25 1;
+#X connect 33 0 9 1;
+#X connect 33 0 8 1;
+#X connect 34 0 24 1;
+#X connect 34 0 21 0;
+#X connect 34 0 13 1;
+#X connect 34 0 22 1;
+#X connect 34 0 23 1;
+#X connect 34 0 6 1;
+#X connect 34 0 7 1;
+#X connect 35 0 21 1;
+#X connect 35 0 18 0;
+#X connect 35 0 14 1;
+#X connect 35 0 19 1;
+#X connect 35 0 20 1;
+#X connect 35 0 5 1;
+#X connect 36 0 18 1;
+#X connect 36 0 15 1;
+#X connect 36 0 16 1;
+#X connect 36 0 17 1;
+#X restore 429 310 pd structure;
+#X obj 341 31 loadbang;
+#X msg 256 256 force2D 0 2;
+#X msg 202 281 force2D -2 0;
+#X msg 259 308 force2D 0 -2;
+#X msg 313 280 force2D 2 0;
+#X obj 65 94 s \$0-link;
+#X obj 30 155 s \$0-mass;
+#X obj 341 60 t b b b;
+#X msg 392 85 reset;
+#X msg 367 110 resetL;
+#X msg 341 138 resetF;
+#X obj 257 340 s \$0-mass;
+#X msg 42 127 force2D 0 -0.1;
+#X text 54 402 small game : try to put the structure horizontally on
+the floor \, and then back to vertical.;
+#X text 383 8 <- reset;
+#X text 93 17 <- 1;
+#X text 180 194 <- 2;
+#X obj 30 42 metro 10;
+#X connect 1 0 14 0;
+#X connect 1 1 20 0;
+#X connect 1 1 13 0;
+#X connect 2 0 25 0;
+#X connect 3 0 15 0;
+#X connect 4 0 5 0;
+#X connect 6 0 5 0;
+#X connect 8 0 15 0;
+#X connect 9 0 19 0;
+#X connect 10 0 19 0;
+#X connect 11 0 19 0;
+#X connect 12 0 19 0;
+#X connect 15 0 18 0;
+#X connect 15 1 17 0;
+#X connect 15 2 16 0;
+#X connect 16 0 14 0;
+#X connect 17 0 13 0;
+#X connect 18 0 13 0;
+#X connect 20 0 14 0;
+#X connect 25 0 1 0;
diff --git a/examples/11_comportement.pd b/examples/11_comportement.pd
new file mode 100644
index 0000000..8d86a23
--- /dev/null
+++ b/examples/11_comportement.pd
@@ -0,0 +1,774 @@
+#N canvas 974 354 594 486 12;
+#X obj 32 75 t b b;
+#X obj 32 27 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 298 29 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X msg 65 236 0 \, destroy;
+#X msg 31 211 reset \, create \, 1;
+#N canvas 334 27 806 691 structure 0;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 29 94 pd link;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 80 187 pd link;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 36 296 pd link;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 33 499 pd link;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 81 574 pd link;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 82 548 pd link;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 71 370 pd link;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 72 345 pd link;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 359 17 pd link;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 354 206 pd link;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 342 400 pd link;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 354 608 pd link;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 604 579 pd link;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 604 555 pd link;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 651 490 pd link;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 578 365 pd link;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 576 342 pd link;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 642 293 pd link;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 575 180 pd link;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 643 101 pd link;
+#N canvas 0 0 454 304 mass 0;
+#X obj 26 38 inlet;
+#X obj 11 137 outlet;
+#X obj 25 104 unpack s f f;
+#X obj 285 48 gemhead;
+#X obj 284 89 translateXYZ;
+#X obj 281 131 sphere 0.1;
+#X obj 24 65 mass2D \$0-mass 50 -0.7 2;
+#X connect 0 0 6 0;
+#X connect 2 1 4 1;
+#X connect 2 2 4 2;
+#X connect 3 0 4 0;
+#X connect 4 0 5 0;
+#X connect 6 0 2 0;
+#X connect 6 0 1 0;
+#X restore 30 7 pd mass;
+#N canvas 0 0 454 304 mass 0;
+#X obj 26 38 inlet;
+#X obj 11 137 outlet;
+#X obj 25 104 unpack s f f;
+#X obj 285 48 gemhead;
+#X obj 284 89 translateXYZ;
+#X obj 281 131 sphere 0.1;
+#X obj 24 65 mass2D \$0-mass 50 -0.7 1.5;
+#X connect 0 0 6 0;
+#X connect 2 1 4 1;
+#X connect 2 2 4 2;
+#X connect 3 0 4 0;
+#X connect 4 0 5 0;
+#X connect 6 0 2 0;
+#X connect 6 0 1 0;
+#X restore 32 214 pd mass;
+#N canvas 0 0 456 306 mass 0;
+#X obj 26 38 inlet;
+#X obj 11 137 outlet;
+#X obj 25 104 unpack s f f;
+#X obj 285 48 gemhead;
+#X obj 284 89 translateXYZ;
+#X obj 281 131 sphere 0.1;
+#X obj 24 66 mass2D \$0-mass 50 -0.7 0.5;
+#X connect 0 0 6 0;
+#X connect 2 1 4 1;
+#X connect 2 2 4 2;
+#X connect 3 0 4 0;
+#X connect 4 0 5 0;
+#X connect 6 0 2 0;
+#X connect 6 0 1 0;
+#X restore 40 615 pd mass;
+#N canvas 0 0 454 304 mass 0;
+#X obj 26 38 inlet;
+#X obj 11 137 outlet;
+#X obj 25 104 unpack s f f;
+#X obj 285 48 gemhead;
+#X obj 284 89 translateXYZ;
+#X obj 281 131 sphere 0.1;
+#X obj 23 66 mass2D \$0-mass 50 0.3 2;
+#X connect 0 0 6 0;
+#X connect 2 1 4 1;
+#X connect 2 2 4 2;
+#X connect 3 0 4 0;
+#X connect 4 0 5 0;
+#X connect 6 0 2 0;
+#X connect 6 0 1 0;
+#X restore 642 14 pd mass;
+#N canvas 0 0 454 304 mass 0;
+#X obj 26 38 inlet;
+#X obj 11 137 outlet;
+#X obj 25 104 unpack s f f;
+#X obj 285 48 gemhead;
+#X obj 284 89 translateXYZ;
+#X obj 281 131 sphere 0.1;
+#X obj 24 65 mass2D \$0-mass 50 0.3 1.5;
+#X connect 0 0 6 0;
+#X connect 2 1 4 1;
+#X connect 2 2 4 2;
+#X connect 3 0 4 0;
+#X connect 4 0 5 0;
+#X connect 6 0 2 0;
+#X connect 6 0 1 0;
+#X restore 640 202 pd mass;
+#N canvas 0 0 454 304 mass 0;
+#X obj 26 38 inlet;
+#X obj 11 137 outlet;
+#X obj 25 104 unpack s f f;
+#X obj 285 48 gemhead;
+#X obj 284 89 translateXYZ;
+#X obj 281 131 sphere 0.1;
+#X obj 25 65 mass2D \$0-mass 50 0.3 1;
+#X connect 0 0 6 0;
+#X connect 2 1 4 1;
+#X connect 2 2 4 2;
+#X connect 3 0 4 0;
+#X connect 4 0 5 0;
+#X connect 6 0 2 0;
+#X connect 6 0 1 0;
+#X restore 647 393 pd mass;
+#N canvas 0 0 454 304 mass 0;
+#X obj 26 38 inlet;
+#X obj 11 137 outlet;
+#X obj 25 104 unpack s f f;
+#X obj 285 48 gemhead;
+#X obj 284 89 translateXYZ;
+#X obj 281 131 sphere 0.1;
+#X obj 24 65 mass2D \$0-mass 50 0.3 0.5;
+#X connect 0 0 6 0;
+#X connect 2 1 4 1;
+#X connect 2 2 4 2;
+#X connect 3 0 4 0;
+#X connect 4 0 5 0;
+#X connect 6 0 2 0;
+#X connect 6 0 1 0;
+#X restore 655 614 pd mass;
+#N canvas 0 0 458 308 mass 0;
+#X obj 26 38 inlet;
+#X obj 11 137 outlet;
+#X obj 25 104 unpack s f f;
+#X obj 285 48 gemhead;
+#X obj 284 89 translateXYZ;
+#X obj 281 131 sphere 0.1;
+#X obj 24 65 mass2D \$0-mass 50 -0.7 1;
+#X connect 0 0 6 0;
+#X connect 2 1 4 1;
+#X connect 2 2 4 2;
+#X connect 3 0 4 0;
+#X connect 4 0 5 0;
+#X connect 6 0 2 0;
+#X connect 6 0 1 0;
+#X restore 35 398 pd mass;
+#X connect 0 0 20 0;
+#X connect 0 1 21 0;
+#X connect 1 0 21 0;
+#X connect 1 1 23 0;
+#X connect 2 0 21 0;
+#X connect 2 1 27 0;
+#X connect 3 0 27 0;
+#X connect 3 1 22 0;
+#X connect 4 0 22 0;
+#X connect 4 1 25 0;
+#X connect 5 0 22 0;
+#X connect 5 1 24 0;
+#X connect 6 0 27 0;
+#X connect 6 1 24 0;
+#X connect 7 0 27 0;
+#X connect 7 1 23 0;
+#X connect 8 0 20 0;
+#X connect 8 1 23 0;
+#X connect 9 0 21 0;
+#X connect 9 1 24 0;
+#X connect 10 0 27 0;
+#X connect 10 1 25 0;
+#X connect 11 0 22 0;
+#X connect 11 1 26 0;
+#X connect 12 0 27 0;
+#X connect 12 1 26 0;
+#X connect 13 0 21 0;
+#X connect 13 1 26 0;
+#X connect 14 0 25 0;
+#X connect 14 1 26 0;
+#X connect 15 0 21 0;
+#X connect 15 1 25 0;
+#X connect 16 0 20 0;
+#X connect 16 1 25 0;
+#X connect 17 0 24 0;
+#X connect 17 1 25 0;
+#X connect 18 0 20 0;
+#X connect 18 1 24 0;
+#X connect 19 0 23 0;
+#X connect 19 1 24 0;
+#X connect 20 0 0 0;
+#X connect 20 0 8 0;
+#X connect 20 0 18 0;
+#X connect 20 0 16 0;
+#X connect 21 0 0 1;
+#X connect 21 0 2 0;
+#X connect 21 0 9 0;
+#X connect 21 0 1 0;
+#X connect 21 0 15 0;
+#X connect 21 0 13 0;
+#X connect 22 0 3 1;
+#X connect 22 0 11 0;
+#X connect 22 0 4 0;
+#X connect 22 0 5 0;
+#X connect 23 0 19 0;
+#X connect 23 0 8 1;
+#X connect 23 0 1 1;
+#X connect 23 0 7 1;
+#X connect 24 0 19 1;
+#X connect 24 0 17 0;
+#X connect 24 0 9 1;
+#X connect 24 0 18 1;
+#X connect 24 0 6 1;
+#X connect 24 0 5 1;
+#X connect 25 0 17 1;
+#X connect 25 0 14 0;
+#X connect 25 0 10 1;
+#X connect 25 0 15 1;
+#X connect 25 0 16 1;
+#X connect 25 0 4 1;
+#X connect 26 0 14 1;
+#X connect 26 0 11 1;
+#X connect 26 0 12 1;
+#X connect 26 0 13 1;
+#X connect 27 0 2 1;
+#X connect 27 0 3 0;
+#X connect 27 0 10 0;
+#X connect 27 0 6 0;
+#X connect 27 0 7 0;
+#X connect 27 0 12 0;
+#X restore 407 307 pd structure;
+#N canvas 0 25 1649 917 init 0;
+#X msg 245 351 setK \$1;
+#X msg 427 318 setD \$1;
+#X floatatom 245 276 5 -10 200 0 - - -;
+#X floatatom 427 267 5 0 0 0 - - -;
+#X obj 245 325 / 10;
+#X obj 245 299 + 1;
+#X obj 427 291 / 10;
+#X obj 49 50 loadbang;
+#X floatatom 611 259 5 0 0 0 - - -;
+#X obj 611 283 / 10;
+#X msg 611 310 setD2 \$1;
+#X obj 47 201 s \$0-mass;
+#X obj 245 383 s \$0-link;
+#X obj 217 28 loadbang;
+#X obj 269 110 sel 0 1 2 3;
+#X obj 268 71 r preset;
+#X obj 406 25 loadbang;
+#X obj 458 107 sel 0 1 2 3;
+#X obj 457 68 r preset;
+#X obj 593 22 loadbang;
+#X obj 645 104 sel 0 1 2 3;
+#X obj 644 65 r preset;
+#X msg 224 144 25;
+#X msg 414 141 7;
+#X msg 601 138 1;
+#X msg 275 143 1;
+#X msg 651 137 0.1;
+#X msg 463 140 0.2;
+#X msg 326 142 30;
+#X msg 514 139 13;
+#X msg 701 136 0.1;
+#X msg 371 142 10;
+#X msg 560 139 0.2;
+#X msg 747 136 0.2;
+#X msg 44 84 setXmin -3.8;
+#X msg 58 110 setXmax 3.8;
+#X msg 75 135 setYmin -3.8;
+#X msg 89 161 setYmax 3.8;
+#X connect 0 0 12 0;
+#X connect 1 0 12 0;
+#X connect 2 0 5 0;
+#X connect 3 0 6 0;
+#X connect 4 0 0 0;
+#X connect 5 0 4 0;
+#X connect 6 0 1 0;
+#X connect 7 0 34 0;
+#X connect 7 0 35 0;
+#X connect 7 0 36 0;
+#X connect 7 0 37 0;
+#X connect 8 0 9 0;
+#X connect 9 0 10 0;
+#X connect 10 0 12 0;
+#X connect 13 0 22 0;
+#X connect 14 0 22 0;
+#X connect 14 1 25 0;
+#X connect 14 2 28 0;
+#X connect 14 3 31 0;
+#X connect 15 0 14 0;
+#X connect 16 0 23 0;
+#X connect 17 0 23 0;
+#X connect 17 1 27 0;
+#X connect 17 2 29 0;
+#X connect 17 3 32 0;
+#X connect 18 0 17 0;
+#X connect 19 0 24 0;
+#X connect 20 0 24 0;
+#X connect 20 1 26 0;
+#X connect 20 2 30 0;
+#X connect 20 3 33 0;
+#X connect 21 0 20 0;
+#X connect 22 0 2 0;
+#X connect 23 0 3 0;
+#X connect 24 0 8 0;
+#X connect 25 0 2 0;
+#X connect 26 0 8 0;
+#X connect 27 0 3 0;
+#X connect 28 0 2 0;
+#X connect 29 0 3 0;
+#X connect 30 0 8 0;
+#X connect 31 0 2 0;
+#X connect 32 0 3 0;
+#X connect 33 0 8 0;
+#X connect 34 0 11 0;
+#X connect 35 0 11 0;
+#X connect 36 0 11 0;
+#X connect 37 0 11 0;
+#X restore 407 280 pd init;
+#X obj 319 28 loadbang;
+#X msg 266 180 force2D 0 2;
+#X msg 211 206 force2D -2 0;
+#X msg 268 233 force2D 0 -2;
+#X msg 322 205 force2D 2 0;
+#X obj 32 48 metro 5;
+#X obj 67 100 s \$0-link;
+#X obj 32 161 s \$0-mass;
+#X obj 319 57 t b b b;
+#X msg 370 82 reset;
+#X msg 345 107 resetL;
+#X msg 319 135 resetF;
+#X obj 266 265 s \$0-mass;
+#N canvas 894 558 454 304 gravite 0;
+#X obj 80 154 inlet;
+#X obj 79 241 outlet;
+#X obj 80 184 f;
+#X msg 81 213 force2D 0 \$1;
+#X obj 185 29 loadbang;
+#X obj 269 110 sel 0 1 2 3;
+#X obj 268 71 r preset;
+#X msg 224 144 -0.01;
+#X msg 275 143 -0.003;
+#X msg 325 142 -0.003;
+#X msg 386 142 -0.03;
+#X connect 0 0 2 0;
+#X connect 2 0 3 0;
+#X connect 3 0 1 0;
+#X connect 4 0 7 0;
+#X connect 5 0 7 0;
+#X connect 5 1 8 0;
+#X connect 5 2 9 0;
+#X connect 5 3 10 0;
+#X connect 6 0 5 0;
+#X connect 7 0 2 1;
+#X connect 8 0 2 1;
+#X connect 9 0 2 1;
+#X connect 10 0 2 1;
+#X restore 80 129 pd gravite;
+#X obj 451 118 vradio 15 1 0 4 empty empty empty 0 -6 0 8 -262144 -1
+-1 0;
+#X obj 451 184 s preset;
+#X text 45 463 the diferent preset show diferents kind of comportement
+for the structure.;
+#X text 55 25 <- 1;
+#X text 174 213 <- 2;
+#X obj 31 264 gemwin;
+#X connect 0 0 14 0;
+#X connect 0 1 13 0;
+#X connect 0 1 20 0;
+#X connect 1 0 12 0;
+#X connect 2 0 15 0;
+#X connect 3 0 26 0;
+#X connect 4 0 26 0;
+#X connect 7 0 15 0;
+#X connect 8 0 19 0;
+#X connect 9 0 19 0;
+#X connect 10 0 19 0;
+#X connect 11 0 19 0;
+#X connect 12 0 0 0;
+#X connect 15 0 18 0;
+#X connect 15 1 17 0;
+#X connect 15 2 16 0;
+#X connect 16 0 14 0;
+#X connect 17 0 13 0;
+#X connect 18 0 13 0;
+#X connect 20 0 14 0;
+#X connect 21 0 22 0;
diff --git a/examples/12_exitation.pd b/examples/12_exitation.pd
new file mode 100644
index 0000000..db31f39
--- /dev/null
+++ b/examples/12_exitation.pd
@@ -0,0 +1,1838 @@
+#N canvas 120 0 589 642 12;
+#X obj 32 75 t b b;
+#X obj 32 27 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1
+;
+#X obj 170 26 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X msg 73 277 0 \, destroy;
+#X obj 39 305 gemwin;
+#X msg 39 252 reset \, create \, 1;
+#N canvas 46 337 1195 749 structure 0;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 25 279 pd link;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 77 344 pd link;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 119 216 pd link;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 114 378 pd link;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 141 350 pd link;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 197 282 pd link;
+#N canvas 0 0 460 310 mass 0;
+#X obj 26 38 inlet;
+#X obj 11 137 outlet;
+#X obj 25 104 unpack s f f;
+#X obj 285 48 gemhead;
+#X obj 284 89 translateXYZ;
+#X obj 281 131 sphere 0.1;
+#X obj 24 65 mass2D \$0-mass 50 -1 0.5;
+#X connect 0 0 6 0;
+#X connect 2 1 4 1;
+#X connect 2 2 4 2;
+#X connect 3 0 4 0;
+#X connect 4 0 5 0;
+#X connect 6 0 2 0;
+#X connect 6 0 1 0;
+#X restore 28 215 pd mass;
+#N canvas 0 0 456 306 mass 0;
+#X obj 26 38 inlet;
+#X obj 11 137 outlet;
+#X obj 25 104 unpack s f f;
+#X obj 285 48 gemhead;
+#X obj 284 89 translateXYZ;
+#X obj 281 131 sphere 0.1;
+#X obj 24 65 mass2D \$0-mass 50 -1 0;
+#X connect 0 0 6 0;
+#X connect 2 1 4 1;
+#X connect 2 2 4 2;
+#X connect 3 0 4 0;
+#X connect 4 0 5 0;
+#X connect 6 0 2 0;
+#X connect 6 0 1 0;
+#X restore 22 372 pd mass;
+#N canvas 0 0 456 306 mass 0;
+#X obj 26 38 inlet;
+#X obj 11 137 outlet;
+#X obj 25 104 unpack s f f;
+#X obj 285 48 gemhead;
+#X obj 284 89 translateXYZ;
+#X obj 281 131 sphere 0.1;
+#X obj 24 65 mass2D \$0-mass 50 -0.5 0.5;
+#X connect 0 0 6 0;
+#X connect 2 1 4 1;
+#X connect 2 2 4 2;
+#X connect 3 0 4 0;
+#X connect 4 0 5 0;
+#X connect 6 0 2 0;
+#X connect 6 0 1 0;
+#X restore 195 216 pd mass;
+#N canvas 0 0 458 308 mass 0;
+#X obj 26 38 inlet;
+#X obj 11 137 outlet;
+#X obj 25 104 unpack s f f;
+#X obj 285 48 gemhead;
+#X obj 284 89 translateXYZ;
+#X obj 281 131 sphere 0.1;
+#X obj 24 65 mass2D \$0-mass 50 -0.5 0;
+#X connect 0 0 6 0;
+#X connect 2 1 4 1;
+#X connect 2 2 4 2;
+#X connect 3 0 4 0;
+#X connect 4 0 5 0;
+#X connect 6 0 2 0;
+#X connect 6 0 1 0;
+#X restore 194 379 pd mass;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 365 279 pd link;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 417 344 pd link;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 459 216 pd link;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 454 378 pd link;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 481 350 pd link;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 537 282 pd link;
+#N canvas 0 0 456 306 mass 0;
+#X obj 26 38 inlet;
+#X obj 11 137 outlet;
+#X obj 25 104 unpack s f f;
+#X obj 285 48 gemhead;
+#X obj 284 89 translateXYZ;
+#X obj 281 131 sphere 0.1;
+#X obj 24 65 mass2D \$0-mass 50 0 0.5;
+#X connect 0 0 6 0;
+#X connect 2 1 4 1;
+#X connect 2 2 4 2;
+#X connect 3 0 4 0;
+#X connect 4 0 5 0;
+#X connect 6 0 2 0;
+#X connect 6 0 1 0;
+#X restore 368 215 pd mass;
+#N canvas 0 0 456 306 mass 0;
+#X obj 26 38 inlet;
+#X obj 11 137 outlet;
+#X obj 25 104 unpack s f f;
+#X obj 285 48 gemhead;
+#X obj 284 89 translateXYZ;
+#X obj 281 131 sphere 0.1;
+#X obj 24 65 mass2D \$0-mass 50 0 0;
+#X connect 0 0 6 0;
+#X connect 2 1 4 1;
+#X connect 2 2 4 2;
+#X connect 3 0 4 0;
+#X connect 4 0 5 0;
+#X connect 6 0 2 0;
+#X connect 6 0 1 0;
+#X restore 362 372 pd mass;
+#N canvas 0 0 456 306 mass 0;
+#X obj 26 38 inlet;
+#X obj 11 137 outlet;
+#X obj 25 104 unpack s f f;
+#X obj 285 48 gemhead;
+#X obj 284 89 translateXYZ;
+#X obj 281 131 sphere 0.1;
+#X obj 24 65 mass2D \$0-mass 50 0.5 0.5;
+#X connect 0 0 6 0;
+#X connect 2 1 4 1;
+#X connect 2 2 4 2;
+#X connect 3 0 4 0;
+#X connect 4 0 5 0;
+#X connect 6 0 2 0;
+#X connect 6 0 1 0;
+#X restore 535 216 pd mass;
+#N canvas 0 0 458 308 mass 0;
+#X obj 26 38 inlet;
+#X obj 11 137 outlet;
+#X obj 25 104 unpack s f f;
+#X obj 285 48 gemhead;
+#X obj 284 89 translateXYZ;
+#X obj 281 131 sphere 0.1;
+#X obj 24 65 mass2D \$0-mass 50 0.5 0;
+#X connect 0 0 6 0;
+#X connect 2 1 4 1;
+#X connect 2 2 4 2;
+#X connect 3 0 4 0;
+#X connect 4 0 5 0;
+#X connect 6 0 2 0;
+#X connect 6 0 1 0;
+#X restore 534 378 pd mass;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 735 282 pd link;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 787 347 pd link;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 829 219 pd link;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 824 381 pd link;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 851 353 pd link;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 907 285 pd link;
+#N canvas 0 0 456 306 mass 0;
+#X obj 26 38 inlet;
+#X obj 11 137 outlet;
+#X obj 25 104 unpack s f f;
+#X obj 285 48 gemhead;
+#X obj 284 89 translateXYZ;
+#X obj 281 131 sphere 0.1;
+#X obj 24 65 mass2D \$0-mass 50 1 0.5;
+#X connect 0 0 6 0;
+#X connect 2 1 4 1;
+#X connect 2 2 4 2;
+#X connect 3 0 4 0;
+#X connect 4 0 5 0;
+#X connect 6 0 2 0;
+#X connect 6 0 1 0;
+#X restore 738 218 pd mass;
+#N canvas 0 0 456 306 mass 0;
+#X obj 26 38 inlet;
+#X obj 11 137 outlet;
+#X obj 25 104 unpack s f f;
+#X obj 285 48 gemhead;
+#X obj 284 89 translateXYZ;
+#X obj 281 131 sphere 0.1;
+#X obj 24 65 mass2D \$0-mass 50 1 0;
+#X connect 0 0 6 0;
+#X connect 2 1 4 1;
+#X connect 2 2 4 2;
+#X connect 3 0 4 0;
+#X connect 4 0 5 0;
+#X connect 6 0 2 0;
+#X connect 6 0 1 0;
+#X restore 730 378 pd mass;
+#N canvas 0 0 458 308 mass 0;
+#X obj 26 38 inlet;
+#X obj 11 137 outlet;
+#X obj 25 104 unpack s f f;
+#X obj 285 48 gemhead;
+#X obj 284 89 translateXYZ;
+#X obj 281 131 sphere 0.1;
+#X obj 25 65 mass2D \$0-mass 50 1.5 0.5;
+#X connect 0 0 6 0;
+#X connect 2 1 4 1;
+#X connect 2 2 4 2;
+#X connect 3 0 4 0;
+#X connect 4 0 5 0;
+#X connect 6 0 2 0;
+#X connect 6 0 1 0;
+#X restore 905 219 pd mass;
+#N canvas 0 0 460 310 mass 0;
+#X obj 26 38 inlet;
+#X obj 11 137 outlet;
+#X obj 25 104 unpack s f f;
+#X obj 285 48 gemhead;
+#X obj 284 89 translateXYZ;
+#X obj 281 131 sphere 0.1;
+#X obj 24 65 mass2D \$0-mass 50 1.5 0;
+#X connect 0 0 6 0;
+#X connect 2 1 4 1;
+#X connect 2 2 4 2;
+#X connect 3 0 4 0;
+#X connect 4 0 5 0;
+#X connect 6 0 2 0;
+#X connect 6 0 1 0;
+#X restore 904 381 pd mass;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 233 344 pd link;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 291 215 pd link;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 290 378 pd link;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 311 340 pd link;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 612 342 pd link;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 641 219 pd link;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 649 376 pd link;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 676 348 pd link;
+#N canvas 0 0 462 312 mass 0;
+#X obj 26 38 inlet;
+#X obj 11 137 outlet;
+#X obj 25 104 unpack s f f;
+#X obj 285 48 gemhead;
+#X obj 284 89 translateXYZ;
+#X obj 281 131 sphere 0.1;
+#X obj 24 65 mass2D \$0-mass 50 -0.75 1;
+#X connect 0 0 6 0;
+#X connect 2 1 4 1;
+#X connect 2 2 4 2;
+#X connect 3 0 4 0;
+#X connect 4 0 5 0;
+#X connect 6 0 2 0;
+#X connect 6 0 1 0;
+#X restore 123 96 pd mass;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 64 150 pd link;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 164 153 pd link;
+#N canvas 0 0 462 312 mass 0;
+#X obj 26 38 inlet;
+#X obj 11 137 outlet;
+#X obj 25 104 unpack s f f;
+#X obj 285 48 gemhead;
+#X obj 284 89 translateXYZ;
+#X obj 281 131 sphere 0.1;
+#X obj 24 65 mass2D \$0-mass 50 -0.25 1;
+#X connect 0 0 6 0;
+#X connect 2 1 4 1;
+#X connect 2 2 4 2;
+#X connect 3 0 4 0;
+#X connect 4 0 5 0;
+#X connect 6 0 2 0;
+#X connect 6 0 1 0;
+#X restore 297 94 pd mass;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 238 148 pd link;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 334 153 pd link;
+#N canvas 0 0 462 312 mass 0;
+#X obj 26 38 inlet;
+#X obj 11 137 outlet;
+#X obj 25 104 unpack s f f;
+#X obj 285 48 gemhead;
+#X obj 284 89 translateXYZ;
+#X obj 281 131 sphere 0.1;
+#X obj 24 65 mass2D \$0-mass 50 0.25 1;
+#X connect 0 0 6 0;
+#X connect 2 1 4 1;
+#X connect 2 2 4 2;
+#X connect 3 0 4 0;
+#X connect 4 0 5 0;
+#X connect 6 0 2 0;
+#X connect 6 0 1 0;
+#X restore 482 100 pd mass;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 422 154 pd link;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 523 157 pd link;
+#N canvas 0 0 462 312 mass 0;
+#X obj 26 38 inlet;
+#X obj 11 137 outlet;
+#X obj 25 104 unpack s f f;
+#X obj 285 48 gemhead;
+#X obj 284 89 translateXYZ;
+#X obj 281 131 sphere 0.1;
+#X obj 24 65 mass2D \$0-mass 50 0.75 1;
+#X connect 0 0 6 0;
+#X connect 2 1 4 1;
+#X connect 2 2 4 2;
+#X connect 3 0 4 0;
+#X connect 4 0 5 0;
+#X connect 6 0 2 0;
+#X connect 6 0 1 0;
+#X restore 668 106 pd mass;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 609 160 pd link;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 709 163 pd link;
+#N canvas 0 0 462 312 mass 0;
+#X obj 26 38 inlet;
+#X obj 11 137 outlet;
+#X obj 25 104 unpack s f f;
+#X obj 285 48 gemhead;
+#X obj 284 89 translateXYZ;
+#X obj 281 131 sphere 0.1;
+#X obj 24 65 mass2D \$0-mass 50 1.25 1;
+#X connect 0 0 6 0;
+#X connect 2 1 4 1;
+#X connect 2 2 4 2;
+#X connect 3 0 4 0;
+#X connect 4 0 5 0;
+#X connect 6 0 2 0;
+#X connect 6 0 1 0;
+#X restore 851 110 pd mass;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 792 164 pd link;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 892 167 pd link;
+#N canvas 0 0 462 312 mass 0;
+#X obj 26 38 inlet;
+#X obj 11 137 outlet;
+#X obj 25 104 unpack s f f;
+#X obj 285 48 gemhead;
+#X obj 284 89 translateXYZ;
+#X obj 281 131 sphere 0.1;
+#X obj 24 65 mass2D \$0-mass 50 -0.75 -0.5;
+#X connect 0 0 6 0;
+#X connect 2 1 4 1;
+#X connect 2 2 4 2;
+#X connect 3 0 4 0;
+#X connect 4 0 5 0;
+#X connect 6 0 2 0;
+#X connect 6 0 1 0;
+#X restore 96 503 pd mass;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 49 434 pd link;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 149 437 pd link;
+#N canvas 0 0 462 312 mass 0;
+#X obj 26 38 inlet;
+#X obj 11 137 outlet;
+#X obj 25 104 unpack s f f;
+#X obj 285 48 gemhead;
+#X obj 284 89 translateXYZ;
+#X obj 281 131 sphere 0.1;
+#X obj 24 65 mass2D \$0-mass 50 -0.25 -0.5;
+#X connect 0 0 6 0;
+#X connect 2 1 4 1;
+#X connect 2 2 4 2;
+#X connect 3 0 4 0;
+#X connect 4 0 5 0;
+#X connect 6 0 2 0;
+#X connect 6 0 1 0;
+#X restore 270 501 pd mass;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 227 436 pd link;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 319 437 pd link;
+#N canvas 0 0 462 312 mass 0;
+#X obj 26 38 inlet;
+#X obj 11 137 outlet;
+#X obj 25 104 unpack s f f;
+#X obj 285 48 gemhead;
+#X obj 284 89 translateXYZ;
+#X obj 281 131 sphere 0.1;
+#X obj 24 66 mass2D \$0-mass 50 0.25 -0.5;
+#X connect 0 0 6 0;
+#X connect 2 1 4 1;
+#X connect 2 2 4 2;
+#X connect 3 0 4 0;
+#X connect 4 0 5 0;
+#X connect 6 0 2 0;
+#X connect 6 0 1 0;
+#X restore 455 507 pd mass;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 407 438 pd link;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 508 441 pd link;
+#N canvas 0 0 462 312 mass 0;
+#X obj 26 38 inlet;
+#X obj 11 137 outlet;
+#X obj 25 104 unpack s f f;
+#X obj 285 48 gemhead;
+#X obj 284 89 translateXYZ;
+#X obj 281 131 sphere 0.1;
+#X obj 24 65 mass2D \$0-mass 50 0.75 -0.5;
+#X connect 0 0 6 0;
+#X connect 2 1 4 1;
+#X connect 2 2 4 2;
+#X connect 3 0 4 0;
+#X connect 4 0 5 0;
+#X connect 6 0 2 0;
+#X connect 6 0 1 0;
+#X restore 641 513 pd mass;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 594 444 pd link;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 694 447 pd link;
+#N canvas 0 0 464 314 mass 0;
+#X obj 26 38 inlet;
+#X obj 11 137 outlet;
+#X obj 25 104 unpack s f f;
+#X obj 285 48 gemhead;
+#X obj 284 89 translateXYZ;
+#X obj 281 131 sphere 0.1;
+#X obj 24 65 mass2D \$0-mass 50 1.25 -0.5;
+#X connect 0 0 6 0;
+#X connect 2 1 4 1;
+#X connect 2 2 4 2;
+#X connect 3 0 4 0;
+#X connect 4 0 5 0;
+#X connect 6 0 2 0;
+#X connect 6 0 1 0;
+#X restore 825 516 pd mass;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 777 448 pd link;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 877 451 pd link;
+#X obj 613 11 inlet;
+#N canvas 0 0 454 304 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 4 1;
+#X connect 2 0 4 0;
+#X connect 4 0 3 0;
+#X connect 4 1 1 0;
+#X restore 466 321 pd link;
+#N canvas 0 0 456 306 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 4 1;
+#X connect 2 0 4 0;
+#X connect 4 0 3 0;
+#X connect 4 1 1 0;
+#X restore 425 248 pd link;
+#N canvas 0 0 454 304 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 4 1;
+#X connect 2 0 4 0;
+#X connect 4 0 3 0;
+#X connect 4 1 1 0;
+#X restore 309 303 pd link;
+#N canvas 0 0 454 304 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 4 1;
+#X connect 2 0 4 0;
+#X connect 4 0 3 0;
+#X connect 4 1 1 0;
+#X restore 299 264 pd link;
+#N canvas 787 26 460 310 mass 0;
+#X obj 26 38 inlet;
+#X obj 11 137 outlet;
+#X obj 25 104 unpack s f f;
+#X obj 285 48 gemhead;
+#X obj 284 89 translateXYZ;
+#X obj 281 131 sphere 0.1;
+#X obj 24 65 mass2D \$0-mass 50 2 0.25;
+#X connect 0 0 6 0;
+#X connect 2 1 4 1;
+#X connect 2 2 4 2;
+#X connect 3 0 4 0;
+#X connect 4 0 5 0;
+#X connect 6 0 2 0;
+#X connect 6 0 1 0;
+#X restore 1037 291 pd mass;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 977 346 pd link;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 970 258 pd link;
+#X msg 613 35 position2D 0 \$1;
+#X obj 96 529 unpack s f f;
+#X obj 187 556 route -3.8;
+#X msg 262 582 0 200;
+#X obj 187 610 line~;
+#X obj 168 636 *~;
+#X obj 270 526 unpack s f f;
+#X obj 361 553 route -3.8;
+#X msg 436 579 0 200;
+#X obj 361 607 line~;
+#X obj 342 633 *~;
+#X obj 455 533 unpack s f f;
+#X obj 546 560 route -3.8;
+#X msg 621 586 0 200;
+#X obj 546 614 line~;
+#X obj 527 640 *~;
+#X obj 521 679 dac~;
+#X obj 642 539 unpack s f f;
+#X obj 733 566 route -3.8;
+#X msg 808 592 0 200;
+#X obj 733 620 line~;
+#X obj 714 646 *~;
+#X obj 826 542 unpack s f f;
+#X obj 917 569 route -3.8;
+#X msg 992 595 0 200;
+#X obj 917 623 line~;
+#X obj 898 649 *~;
+#X obj 292 559 osc~ 183;
+#X obj 477 566 osc~ 370;
+#X obj 664 572 osc~ 457;
+#X msg 362 581 0.1 5;
+#X msg 546 588 0.1 5;
+#X msg 733 594 0.1 5;
+#X obj 458 59 link2D link3 0 0 0.08 0;
+#X obj 118 562 osc~ 805;
+#X msg 187 584 0.1 5;
+#X msg 915 596 0.6 5;
+#X obj 845 570 osc~ 105;
+#X connect 0 0 6 0;
+#X connect 0 1 7 0;
+#X connect 1 0 7 0;
+#X connect 1 1 8 0;
+#X connect 2 0 6 0;
+#X connect 2 1 8 0;
+#X connect 3 0 7 0;
+#X connect 3 1 9 0;
+#X connect 4 0 6 0;
+#X connect 4 1 9 0;
+#X connect 5 0 8 0;
+#X connect 5 1 9 0;
+#X connect 6 0 0 0;
+#X connect 6 0 2 0;
+#X connect 6 0 4 0;
+#X connect 6 0 39 0;
+#X connect 6 0 70 0;
+#X connect 7 0 0 1;
+#X connect 7 0 3 0;
+#X connect 7 0 1 0;
+#X connect 7 0 54 0;
+#X connect 7 0 69 0;
+#X connect 8 0 5 0;
+#X connect 8 0 2 1;
+#X connect 8 0 1 1;
+#X connect 8 0 33 0;
+#X connect 8 0 31 0;
+#X connect 8 0 40 1;
+#X connect 8 0 42 0;
+#X connect 8 0 72 0;
+#X connect 9 0 5 1;
+#X connect 9 0 3 1;
+#X connect 9 0 4 1;
+#X connect 9 0 30 0;
+#X connect 9 0 32 0;
+#X connect 9 0 55 1;
+#X connect 9 0 57 0;
+#X connect 9 0 71 0;
+#X connect 10 0 16 0;
+#X connect 10 1 17 0;
+#X connect 11 0 17 0;
+#X connect 11 1 18 0;
+#X connect 12 0 16 0;
+#X connect 12 1 18 0;
+#X connect 13 0 17 0;
+#X connect 13 1 19 0;
+#X connect 14 0 16 0;
+#X connect 14 1 19 0;
+#X connect 15 0 18 0;
+#X connect 15 1 19 0;
+#X connect 16 0 10 0;
+#X connect 16 0 12 0;
+#X connect 16 0 14 0;
+#X connect 16 0 30 1;
+#X connect 16 0 31 1;
+#X connect 16 0 43 1;
+#X connect 16 0 45 0;
+#X connect 16 0 109 0;
+#X connect 17 0 10 1;
+#X connect 17 0 13 0;
+#X connect 17 0 11 0;
+#X connect 17 0 32 1;
+#X connect 17 0 33 1;
+#X connect 17 0 58 1;
+#X connect 17 0 60 0;
+#X connect 18 0 15 0;
+#X connect 18 0 12 1;
+#X connect 18 0 11 1;
+#X connect 18 0 37 0;
+#X connect 18 0 35 0;
+#X connect 18 0 46 1;
+#X connect 18 0 48 0;
+#X connect 19 0 15 1;
+#X connect 19 0 13 1;
+#X connect 19 0 14 1;
+#X connect 19 0 34 0;
+#X connect 19 0 36 0;
+#X connect 19 0 61 1;
+#X connect 19 0 63 0;
+#X connect 20 0 26 0;
+#X connect 20 1 27 0;
+#X connect 21 0 27 0;
+#X connect 21 1 28 0;
+#X connect 22 0 26 0;
+#X connect 22 1 28 0;
+#X connect 23 0 27 0;
+#X connect 23 1 29 0;
+#X connect 24 0 26 0;
+#X connect 24 1 29 0;
+#X connect 25 0 28 0;
+#X connect 25 1 29 0;
+#X connect 26 0 20 0;
+#X connect 26 0 22 0;
+#X connect 26 0 24 0;
+#X connect 26 0 34 1;
+#X connect 26 0 35 1;
+#X connect 26 0 49 1;
+#X connect 26 0 51 0;
+#X connect 26 0 71 1;
+#X connect 27 0 20 1;
+#X connect 27 0 23 0;
+#X connect 27 0 21 0;
+#X connect 27 0 36 1;
+#X connect 27 0 37 1;
+#X connect 27 0 64 1;
+#X connect 27 0 66 0;
+#X connect 27 0 72 1;
+#X connect 28 0 25 0;
+#X connect 28 0 22 1;
+#X connect 28 0 21 1;
+#X connect 28 0 52 1;
+#X connect 28 0 69 1;
+#X connect 28 0 75 0;
+#X connect 29 0 25 1;
+#X connect 29 0 23 1;
+#X connect 29 0 24 1;
+#X connect 29 0 67 1;
+#X connect 29 0 70 1;
+#X connect 29 0 74 0;
+#X connect 30 0 9 0;
+#X connect 30 1 16 0;
+#X connect 31 0 8 0;
+#X connect 31 1 16 0;
+#X connect 32 0 9 0;
+#X connect 32 1 17 0;
+#X connect 33 0 8 0;
+#X connect 33 1 17 0;
+#X connect 34 0 19 0;
+#X connect 34 1 26 0;
+#X connect 35 0 18 0;
+#X connect 35 1 26 0;
+#X connect 36 0 19 0;
+#X connect 36 1 27 0;
+#X connect 37 0 18 0;
+#X connect 37 1 27 0;
+#X connect 38 0 39 1;
+#X connect 38 0 40 0;
+#X connect 39 0 6 0;
+#X connect 39 1 38 0;
+#X connect 40 0 38 0;
+#X connect 40 1 8 0;
+#X connect 41 0 42 1;
+#X connect 41 0 43 0;
+#X connect 42 0 8 0;
+#X connect 42 1 41 0;
+#X connect 43 0 41 0;
+#X connect 43 1 16 0;
+#X connect 44 0 45 1;
+#X connect 44 0 46 0;
+#X connect 45 0 16 0;
+#X connect 45 1 44 0;
+#X connect 46 0 44 0;
+#X connect 46 1 18 0;
+#X connect 47 0 48 1;
+#X connect 47 0 49 0;
+#X connect 48 0 18 0;
+#X connect 48 1 47 0;
+#X connect 49 0 47 0;
+#X connect 49 1 26 0;
+#X connect 50 0 51 1;
+#X connect 50 0 52 0;
+#X connect 51 0 26 0;
+#X connect 51 1 50 0;
+#X connect 52 0 50 0;
+#X connect 52 1 28 0;
+#X connect 53 0 54 1;
+#X connect 53 0 55 0;
+#X connect 53 0 77 0;
+#X connect 54 0 7 0;
+#X connect 54 1 53 0;
+#X connect 55 0 53 0;
+#X connect 55 1 9 0;
+#X connect 56 0 57 1;
+#X connect 56 0 58 0;
+#X connect 56 0 82 0;
+#X connect 57 0 9 0;
+#X connect 57 1 56 0;
+#X connect 58 0 56 0;
+#X connect 58 1 17 0;
+#X connect 59 0 60 1;
+#X connect 59 0 61 0;
+#X connect 59 0 87 0;
+#X connect 60 0 17 0;
+#X connect 60 1 59 0;
+#X connect 61 0 59 0;
+#X connect 61 1 19 0;
+#X connect 62 0 63 1;
+#X connect 62 0 64 0;
+#X connect 62 0 93 0;
+#X connect 63 0 19 0;
+#X connect 63 1 62 0;
+#X connect 64 0 62 0;
+#X connect 64 1 27 0;
+#X connect 65 0 66 1;
+#X connect 65 0 67 0;
+#X connect 65 0 98 0;
+#X connect 66 0 27 0;
+#X connect 66 1 65 0;
+#X connect 67 0 65 0;
+#X connect 67 1 29 0;
+#X connect 68 0 76 0;
+#X connect 69 0 7 0;
+#X connect 69 1 28 0;
+#X connect 70 0 6 0;
+#X connect 70 1 29 0;
+#X connect 71 0 9 0;
+#X connect 71 1 26 0;
+#X connect 72 0 8 0;
+#X connect 72 1 27 0;
+#X connect 73 0 75 1;
+#X connect 73 0 74 1;
+#X connect 74 0 29 0;
+#X connect 74 1 73 0;
+#X connect 75 0 28 0;
+#X connect 75 1 73 0;
+#X connect 76 0 109 1;
+#X connect 77 2 78 0;
+#X connect 78 0 111 0;
+#X connect 78 1 79 0;
+#X connect 79 0 80 0;
+#X connect 80 0 81 1;
+#X connect 81 0 92 0;
+#X connect 81 0 92 1;
+#X connect 82 2 83 0;
+#X connect 83 0 106 0;
+#X connect 83 1 84 0;
+#X connect 84 0 85 0;
+#X connect 85 0 86 1;
+#X connect 86 0 92 0;
+#X connect 86 0 92 1;
+#X connect 87 2 88 0;
+#X connect 88 0 107 0;
+#X connect 88 1 89 0;
+#X connect 89 0 90 0;
+#X connect 90 0 91 1;
+#X connect 91 0 92 0;
+#X connect 91 0 92 1;
+#X connect 93 2 94 0;
+#X connect 94 0 108 0;
+#X connect 94 1 95 0;
+#X connect 95 0 96 0;
+#X connect 96 0 97 1;
+#X connect 97 0 92 0;
+#X connect 98 2 99 0;
+#X connect 99 0 112 0;
+#X connect 99 1 100 0;
+#X connect 100 0 101 0;
+#X connect 101 0 102 1;
+#X connect 102 0 92 1;
+#X connect 102 0 92 0;
+#X connect 103 0 86 0;
+#X connect 104 0 91 0;
+#X connect 105 0 97 0;
+#X connect 106 0 85 0;
+#X connect 107 0 90 0;
+#X connect 108 0 96 0;
+#X connect 109 0 16 0;
+#X connect 110 0 81 0;
+#X connect 111 0 80 0;
+#X connect 112 0 101 0;
+#X connect 113 0 102 0;
+#X restore 313 258 pd structure;
+#N canvas 137 36 733 328 init 0;
+#X msg 253 181 setK \$1;
+#X msg 363 159 setD \$1;
+#X msg 544 129 setM \$1;
+#X floatatom 253 106 5 -10 200 0 - - -;
+#X floatatom 363 108 5 0 0 0 - - -;
+#X floatatom 544 106 5 0 0 0 - - -;
+#X obj 544 157 s mass;
+#X obj 253 155 / 10;
+#X obj 253 129 + 1;
+#X obj 363 132 / 10;
+#X obj 42 50 loadbang;
+#X floatatom 450 105 5 0 0 0 - - -;
+#X obj 450 129 / 10;
+#X msg 450 156 setD2 \$1;
+#X obj 44 201 s \$0-mass;
+#X obj 253 213 s \$0-link;
+#X msg 543 83 12;
+#X msg 254 80 25;
+#X msg 361 78 7;
+#X msg 451 80 1;
+#X obj 331 30 loadbang;
+#X msg 44 84 setXmin -3.8;
+#X msg 57 109 setXmax 3.8;
+#X msg 75 133 setYmin -3.8;
+#X msg 88 159 setYmax 3.8;
+#X connect 0 0 15 0;
+#X connect 1 0 15 0;
+#X connect 2 0 6 0;
+#X connect 3 0 8 0;
+#X connect 4 0 9 0;
+#X connect 5 0 2 0;
+#X connect 7 0 0 0;
+#X connect 8 0 7 0;
+#X connect 9 0 1 0;
+#X connect 10 0 21 0;
+#X connect 10 0 22 0;
+#X connect 10 0 23 0;
+#X connect 10 0 24 0;
+#X connect 11 0 12 0;
+#X connect 12 0 13 0;
+#X connect 13 0 15 0;
+#X connect 16 0 5 0;
+#X connect 17 0 3 0;
+#X connect 18 0 4 0;
+#X connect 19 0 11 0;
+#X connect 20 0 17 0;
+#X connect 20 0 18 0;
+#X connect 20 0 19 0;
+#X connect 20 0 16 0;
+#X connect 21 0 14 0;
+#X connect 22 0 14 0;
+#X connect 23 0 14 0;
+#X connect 24 0 14 0;
+#X restore 308 37 pd init;
+#X obj 191 25 loadbang;
+#X obj 32 48 metro 5;
+#X obj 69 105 s \$0-link;
+#X obj 32 161 s \$0-mass;
+#X obj 191 54 t b b b;
+#X msg 242 79 reset;
+#X msg 216 104 resetL;
+#X msg 191 132 resetF;
+#N canvas 894 558 454 304 gravite 0;
+#X obj 80 154 inlet;
+#X obj 79 241 outlet;
+#X obj 80 184 f;
+#X msg 81 213 force2D 0 \$1;
+#X obj 185 29 loadbang;
+#X obj 269 110 sel 0 1 2 3;
+#X obj 268 71 r preset;
+#X msg 224 144 -0.01;
+#X msg 275 143 -0.003;
+#X msg 325 142 -0.003;
+#X msg 386 142 -0.03;
+#X connect 0 0 2 0;
+#X connect 2 0 3 0;
+#X connect 3 0 1 0;
+#X connect 4 0 7 0;
+#X connect 5 0 7 0;
+#X connect 5 1 8 0;
+#X connect 5 2 9 0;
+#X connect 5 3 10 0;
+#X connect 6 0 5 0;
+#X connect 7 0 2 1;
+#X connect 8 0 2 1;
+#X connect 9 0 2 1;
+#X connect 10 0 2 1;
+#X restore 80 129 pd gravite;
+#X obj 41 189 s lfo-m;
+#X obj 127 159 s lfo-l;
+#X obj 140 185 s link3;
+#X obj 268 260 / 2;
+#X obj 268 284 + 64;
+#X obj 268 309 vsl 15 128 0 127 0 0 empty empty empty 0 -8 0 8 -262144
+-1 -1 2447 1;
+#N canvas 931 259 458 308 MP_lfo 0;
+#X obj 84 126 link lfo-l 0 1 0 0;
+#X obj 67 89 mass lfo-m 1000 100;
+#X obj 60 164 outlet;
+#X connect 0 0 1 0;
+#X connect 1 0 0 0;
+#X connect 1 0 2 0;
+#X restore 269 234 pd MP_lfo;
+#X obj 328 394 s \$0-mass;
+#X msg 329 346 force2D -1 0;
+#X msg 430 346 force2D 1 0;
+#X msg 380 371 force2D 0 -1;
+#X msg 387 321 force2D 0 1;
+#X text 33 547 a "a way linkison" is a linkison wich can send energy
+from mass 1 to 2 \, but not from mass 2 to 1 This is absolutly not
+physical (as it's act as creation energy) \, but usefull for exiting
+a system. It can be made if the link output (force output) is not conectet
+to the mass wich should not receive energy from the link.;
+#X text 34 485 a single structure (mass and link) is oscilating without
+damping (so \, it's a sinus LFO). a "one-way linkison" link it to the
+main structure. So the main structure is moving.;
+#X text 33 662 You can also make a muscle while changing a link lenght.
+;
+#X obj 265 140 s \$0-mass;
+#X obj 265 165 s lfo-m;
+#X text 32 695 sound is generated with masss position;
+#X text 52 26 <- 1;
+#X text 178 251 <- 2;
+#X msg 33 384 \; pd dsp 1 \;;
+#X msg 137 381 \; pd dsp 0 \;;
+#X connect 0 0 11 0;
+#X connect 0 0 17 0;
+#X connect 0 1 10 0;
+#X connect 0 1 16 0;
+#X connect 0 1 18 0;
+#X connect 0 1 19 0;
+#X connect 1 0 9 0;
+#X connect 2 0 12 0;
+#X connect 3 0 4 0;
+#X connect 5 0 4 0;
+#X connect 8 0 12 0;
+#X connect 9 0 0 0;
+#X connect 12 0 15 0;
+#X connect 12 1 14 0;
+#X connect 12 2 13 0;
+#X connect 13 0 32 0;
+#X connect 13 0 33 0;
+#X connect 14 0 10 0;
+#X connect 15 0 10 0;
+#X connect 15 0 18 0;
+#X connect 16 0 11 0;
+#X connect 20 0 21 0;
+#X connect 21 0 22 0;
+#X connect 23 0 20 0;
+#X connect 23 0 6 0;
+#X connect 25 0 24 0;
+#X connect 26 0 24 0;
+#X connect 27 0 24 0;
+#X connect 28 0 24 0;
diff --git a/examples/13_plane3D.pd b/examples/13_plane3D.pd
new file mode 100644
index 0000000..965237e
--- /dev/null
+++ b/examples/13_plane3D.pd
@@ -0,0 +1,460 @@
+#N canvas 603 32 1102 849 12;
+#X obj 28 79 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1
+;
+#X msg 397 175 setK \$1;
+#X msg 618 127 setM \$1;
+#X obj 397 202 s link;
+#X obj 618 155 s mass;
+#X obj 397 149 / 10;
+#X obj 397 123 + 1;
+#X obj 69 298 gemwin;
+#X msg 88 269 0 \, destroy;
+#X floatatom 397 101 5 0 0 0 - - -;
+#X floatatom 534 105 5 0 0 0 - - -;
+#X floatatom 618 104 5 0 0 0 - - -;
+#X obj 28 100 metro 10;
+#X obj 28 124 t b b;
+#X obj 256 111 world_light;
+#X obj 256 83 gemhead;
+#X text 199 154 <- gravity simulation;
+#X obj 559 355 s gemhead;
+#X obj 559 216 gemhead;
+#X floatatom 581 246 5 0 0 0 - - -;
+#X floatatom 631 247 5 0 0 0 - - -;
+#X floatatom 681 247 5 0 0 0 - - -;
+#X msg 534 128 setD2 \$1;
+#X msg 63 152 force3D 0 -8 0;
+#X floatatom 450 106 5 0 0 0 - - -;
+#X msg 450 129 setD \$1;
+#X obj 329 442 gemLia 0 1 0.1 0.1;
+#X obj 632 442 gemLia 0 1 0.1 0.1;
+#X obj 934 443 gemLia 0 1 0.1 0.1;
+#X obj 1237 443 gemLia 0 1 0.1 0.1;
+#X obj 327 504 gemLia 0 1 0.1 0.1;
+#X obj 176 472 gemLia 0 1 0.1 0.1;
+#X obj 631 504 gemLia 0 1 0.1 0.1;
+#X obj 479 472 gemLia 0 1 0.1 0.1;
+#X obj 933 505 gemLia 0 1 0.1 0.1;
+#X obj 781 473 gemLia 0 1 0.1 0.1;
+#X obj 1236 505 gemLia 0 1 0.1 0.1;
+#X obj 1084 473 gemLia 0 1 0.1 0.1;
+#X obj 1542 504 gemLia 0 1 0.1 0.1;
+#X obj 1390 472 gemLia 0 1 0.1 0.1;
+#X obj 1693 472 gemLia 0 1 0.1 0.1;
+#X obj 327 563 gemLia 0 1 0.1 0.1;
+#X obj 175 531 gemLia 0 1 0.1 0.1;
+#X obj 630 563 gemLia 0 1 0.1 0.1;
+#X obj 478 531 gemLia 0 1 0.1 0.1;
+#X obj 932 564 gemLia 0 1 0.1 0.1;
+#X obj 780 532 gemLia 0 1 0.1 0.1;
+#X obj 1235 564 gemLia 0 1 0.1 0.1;
+#X obj 1083 532 gemLia 0 1 0.1 0.1;
+#X obj 326 625 gemLia 0 1 0.1 0.1;
+#X obj 174 593 gemLia 0 1 0.1 0.1;
+#X obj 629 625 gemLia 0 1 0.1 0.1;
+#X obj 477 593 gemLia 0 1 0.1 0.1;
+#X obj 931 626 gemLia 0 1 0.1 0.1;
+#X obj 779 594 gemLia 0 1 0.1 0.1;
+#X obj 1234 626 gemLia 0 1 0.1 0.1;
+#X obj 1082 594 gemLia 0 1 0.1 0.1;
+#X obj 1541 563 gemLia 0 1 0.1 0.1;
+#X obj 1389 531 gemLia 0 1 0.1 0.1;
+#X obj 1692 531 gemLia 0 1 0.1 0.1;
+#X obj 1540 625 gemLia 0 1 0.1 0.1;
+#X obj 1388 593 gemLia 0 1 0.1 0.1;
+#X obj 1691 593 gemLia 0 1 0.1 0.1;
+#X obj 1543 442 gemLia 0 1 0.1 0.1;
+#X obj 325 687 gemLia 0 1 0.1 0.1;
+#X obj 173 655 gemLia 0 1 0.1 0.1;
+#X obj 628 687 gemLia 0 1 0.1 0.1;
+#X obj 476 655 gemLia 0 1 0.1 0.1;
+#X obj 930 688 gemLia 0 1 0.1 0.1;
+#X obj 1233 688 gemLia 0 1 0.1 0.1;
+#X obj 1081 656 gemLia 0 1 0.1 0.1;
+#X obj 323 749 gemLia 0 1 0.1 0.1;
+#X obj 172 717 gemLia 0 1 0.1 0.1;
+#X obj 627 749 gemLia 0 1 0.1 0.1;
+#X obj 475 717 gemLia 0 1 0.1 0.1;
+#X obj 929 750 gemLia 0 1 0.1 0.1;
+#X obj 777 718 gemLia 0 1 0.1 0.1;
+#X obj 1232 750 gemLia 0 1 0.1 0.1;
+#X obj 1080 718 gemLia 0 1 0.1 0.1;
+#X obj 1387 655 gemLia 0 1 0.1 0.1;
+#X obj 1690 655 gemLia 0 1 0.1 0.1;
+#X obj 1538 749 gemLia 0 1 0.1 0.1;
+#X obj 1386 717 gemLia 0 1 0.1 0.1;
+#X obj 1689 717 gemLia 0 1 0.1 0.1;
+#X obj 778 656 gemLia 0 1 0.1 0.1;
+#X obj 1539 687 gemLia 0 1 0.1 0.1;
+#X obj 25 592 gemMasse2 10 0 3 0;
+#X obj 836 154 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 857 153 loadbang;
+#X obj 857 182 t b b b;
+#X msg 908 207 reset;
+#X msg 883 232 resetL;
+#X msg 857 260 resetF;
+#X obj 329 472 gemMasse 10 1 1 0;
+#X obj 325 532 gemMasse 10 1 2 0;
+#X obj 327 593 gemMasse 10 1 3 0;
+#X obj 326 654 gemMasse 10 1 4 0;
+#X obj 324 717 gemMasse 10 1 5 0;
+#X obj 633 472 gemMasse 10 2 1 0;
+#X obj 630 531 gemMasse 10 2 2 0;
+#X obj 629 593 gemMasse 10 2 3 0;
+#X obj 629 656 gemMasse 10 2 4 0;
+#X obj 627 717 gemMasse 10 2 5 0;
+#X obj 933 473 gemMasse 10 3 1 0;
+#X obj 932 532 gemMasse 10 3 2 0;
+#X obj 931 594 gemMasse 10 3 3 0;
+#X obj 930 656 gemMasse 10 3 4 0;
+#X obj 929 718 gemMasse 10 3 5 0;
+#X obj 1236 473 gemMasse 10 4 1 0;
+#X obj 1235 532 gemMasse 10 4 2 0;
+#X obj 1234 594 gemMasse 10 4 3 0;
+#X obj 1234 656 gemMasse 10 4 4 0;
+#X obj 1232 718 gemMasse 10 4 5 0;
+#X obj 1543 473 gemMasse 10 5 1 0;
+#X obj 1542 531 gemMasse 10 5 2 0;
+#X obj 1541 593 gemMasse 10 5 3 0;
+#X obj 1540 655 gemMasse 10 5 4 0;
+#X obj 1538 718 gemMasse 10 5 5 0;
+#X obj 329 410 gemMasse2 10 1 0 0;
+#X obj 632 410 gemMasse2 10 2 0 0;
+#X obj 934 411 gemMasse2 10 3 0 0;
+#X obj 1237 411 gemMasse2 10 4 0 0;
+#X obj 1543 410 gemMasse2 10 5 0 0;
+#X obj 26 471 gemMasse2 10 0 1 0;
+#X obj 1846 472 gemMasse2 10 6 1 0;
+#X obj 1844 531 gemMasse2 10 6 2 0;
+#X obj 25 530 gemMasse2 10 0 2 0;
+#X obj 23 654 gemMasse2 10 0 4 0;
+#X obj 22 716 gemMasse2 10 0 5 0;
+#X obj 321 777 gemMasse2 10 1 6 0;
+#X obj 626 776 gemMasse2 10 2 6 0;
+#X obj 928 777 gemMasse2 10 3 6 0;
+#X obj 1231 777 gemMasse2 10 4 6 0;
+#X obj 1537 776 gemMasse2 10 5 6 0;
+#X obj 1844 594 gemMasse2 10 6 3 0;
+#X obj 1845 656 gemMasse2 10 6 4 0;
+#X obj 1841 717 gemMasse2 10 6 5 0;
+#X msg 397 77 2;
+#X msg 618 80 10;
+#X msg 450 80 0.1;
+#X msg 535 80 0.03;
+#X msg 49 342 force3D 0 1 0;
+#X msg 60 364 force3D 0 0 1;
+#X msg 67 388 force3D 1 0 0;
+#X floatatom 613 298 5 0 0 0 - - -;
+#X floatatom 663 299 5 0 0 0 - - -;
+#X floatatom 713 299 5 0 0 0 - - -;
+#X obj 559 328 translateXYZ -2.8 0 0;
+#X obj 559 272 rotateXYZ -40 0 0;
+#X msg 210 352 force3D 0 3 0;
+#X msg 203 375 force3D 0 0 3;
+#X msg 195 398 force3D 3 0 0;
+#X obj 505 51 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X msg 69 241 reset \, lighting 1 \, create \, 1;
+#X text 409 20 This is a plane with 3D masss.;
+#X text 33 814 masss are used in the border (gemMasse2) for telling
+the link there position. they do not receive bang information \, so
+they will not move.;
+#X text 53 75 <- 1;
+#X text 308 242 <- 2;
+#X obj 910 308 s masse;
+#X obj 902 340 s masse2;
+#X obj 857 296 s lia;
+#X obj 49 413 s masse;
+#X obj 28 183 s masse;
+#X obj 99 184 s lia;
+#X connect 0 0 12 0;
+#X connect 1 0 3 0;
+#X connect 2 0 4 0;
+#X connect 5 0 1 0;
+#X connect 6 0 5 0;
+#X connect 8 0 7 0;
+#X connect 9 0 6 0;
+#X connect 10 0 22 0;
+#X connect 11 0 2 0;
+#X connect 12 0 13 0;
+#X connect 13 0 162 0;
+#X connect 13 1 23 0;
+#X connect 13 1 163 0;
+#X connect 15 0 14 0;
+#X connect 18 0 148 0;
+#X connect 19 0 148 1;
+#X connect 20 0 148 2;
+#X connect 21 0 148 3;
+#X connect 22 0 3 0;
+#X connect 24 0 25 0;
+#X connect 25 0 3 0;
+#X connect 26 0 118 0;
+#X connect 26 1 93 0;
+#X connect 27 0 119 0;
+#X connect 27 1 98 0;
+#X connect 28 0 120 0;
+#X connect 28 1 103 0;
+#X connect 29 0 121 0;
+#X connect 29 1 108 0;
+#X connect 30 0 93 0;
+#X connect 30 1 94 0;
+#X connect 31 0 123 0;
+#X connect 31 1 93 0;
+#X connect 32 0 98 0;
+#X connect 32 1 99 0;
+#X connect 33 0 93 0;
+#X connect 33 1 98 0;
+#X connect 34 0 103 0;
+#X connect 34 1 104 0;
+#X connect 35 0 98 0;
+#X connect 35 1 103 0;
+#X connect 36 0 108 0;
+#X connect 36 1 109 0;
+#X connect 37 0 103 0;
+#X connect 37 1 108 0;
+#X connect 38 0 113 0;
+#X connect 38 1 114 0;
+#X connect 39 0 108 0;
+#X connect 39 1 113 0;
+#X connect 40 0 113 0;
+#X connect 40 1 124 0;
+#X connect 41 0 94 0;
+#X connect 41 1 95 0;
+#X connect 42 0 126 0;
+#X connect 42 1 94 0;
+#X connect 43 0 99 0;
+#X connect 43 1 100 0;
+#X connect 44 0 94 0;
+#X connect 44 1 99 0;
+#X connect 45 0 104 0;
+#X connect 45 1 105 0;
+#X connect 46 0 99 0;
+#X connect 46 1 104 0;
+#X connect 47 0 109 0;
+#X connect 47 1 110 0;
+#X connect 48 0 104 0;
+#X connect 48 1 109 0;
+#X connect 49 0 95 0;
+#X connect 49 1 96 0;
+#X connect 50 0 86 0;
+#X connect 50 1 95 0;
+#X connect 51 0 100 0;
+#X connect 51 1 101 0;
+#X connect 52 0 95 0;
+#X connect 52 1 100 0;
+#X connect 53 0 105 0;
+#X connect 53 1 106 0;
+#X connect 54 0 100 0;
+#X connect 54 1 105 0;
+#X connect 55 0 110 0;
+#X connect 55 1 111 0;
+#X connect 56 0 105 0;
+#X connect 56 1 110 0;
+#X connect 57 0 114 0;
+#X connect 57 1 115 0;
+#X connect 58 0 109 0;
+#X connect 58 1 114 0;
+#X connect 59 0 114 0;
+#X connect 59 1 125 0;
+#X connect 60 0 115 0;
+#X connect 60 1 116 0;
+#X connect 61 0 110 0;
+#X connect 61 1 115 0;
+#X connect 62 0 115 0;
+#X connect 62 1 134 0;
+#X connect 63 0 122 0;
+#X connect 63 1 113 0;
+#X connect 64 0 96 0;
+#X connect 64 1 97 0;
+#X connect 65 0 127 0;
+#X connect 65 1 96 0;
+#X connect 66 0 101 0;
+#X connect 66 1 102 0;
+#X connect 67 0 96 0;
+#X connect 67 1 101 0;
+#X connect 68 0 106 0;
+#X connect 68 1 107 0;
+#X connect 69 0 111 0;
+#X connect 69 1 112 0;
+#X connect 70 0 106 0;
+#X connect 70 1 111 0;
+#X connect 71 0 97 0;
+#X connect 71 1 129 0;
+#X connect 72 0 128 0;
+#X connect 72 1 97 0;
+#X connect 73 0 102 0;
+#X connect 73 1 130 0;
+#X connect 74 0 97 0;
+#X connect 74 1 102 0;
+#X connect 75 0 107 0;
+#X connect 75 1 131 0;
+#X connect 76 0 102 0;
+#X connect 76 1 107 0;
+#X connect 77 0 112 0;
+#X connect 77 1 132 0;
+#X connect 78 0 107 0;
+#X connect 78 1 112 0;
+#X connect 79 0 111 0;
+#X connect 79 1 116 0;
+#X connect 80 0 116 0;
+#X connect 80 1 135 0;
+#X connect 81 0 117 0;
+#X connect 81 1 133 0;
+#X connect 82 0 112 0;
+#X connect 82 1 117 0;
+#X connect 83 0 117 0;
+#X connect 83 1 136 0;
+#X connect 84 0 101 0;
+#X connect 84 1 106 0;
+#X connect 85 0 116 0;
+#X connect 85 1 117 0;
+#X connect 86 0 50 0;
+#X connect 87 0 89 0;
+#X connect 88 0 89 0;
+#X connect 89 0 92 0;
+#X connect 89 1 91 0;
+#X connect 89 2 90 0;
+#X connect 90 0 158 0;
+#X connect 90 0 159 0;
+#X connect 91 0 160 0;
+#X connect 92 0 160 0;
+#X connect 93 0 30 0;
+#X connect 93 0 31 1;
+#X connect 93 0 33 0;
+#X connect 93 0 26 1;
+#X connect 94 0 41 0;
+#X connect 94 0 42 1;
+#X connect 94 0 44 0;
+#X connect 94 0 30 1;
+#X connect 95 0 49 0;
+#X connect 95 0 50 1;
+#X connect 95 0 52 0;
+#X connect 95 0 41 1;
+#X connect 96 0 64 0;
+#X connect 96 0 65 1;
+#X connect 96 0 67 0;
+#X connect 96 0 49 1;
+#X connect 97 0 71 0;
+#X connect 97 0 72 1;
+#X connect 97 0 74 0;
+#X connect 97 0 64 1;
+#X connect 98 0 32 0;
+#X connect 98 0 33 1;
+#X connect 98 0 35 0;
+#X connect 98 0 27 1;
+#X connect 99 0 43 0;
+#X connect 99 0 44 1;
+#X connect 99 0 46 0;
+#X connect 99 0 32 1;
+#X connect 100 0 51 0;
+#X connect 100 0 52 1;
+#X connect 100 0 54 0;
+#X connect 100 0 43 1;
+#X connect 101 0 66 0;
+#X connect 101 0 67 1;
+#X connect 101 0 84 0;
+#X connect 101 0 51 1;
+#X connect 102 0 73 0;
+#X connect 102 0 74 1;
+#X connect 102 0 76 0;
+#X connect 102 0 66 1;
+#X connect 103 0 34 0;
+#X connect 103 0 35 1;
+#X connect 103 0 37 0;
+#X connect 103 0 28 1;
+#X connect 104 0 45 0;
+#X connect 104 0 46 1;
+#X connect 104 0 48 0;
+#X connect 104 0 34 1;
+#X connect 105 0 53 0;
+#X connect 105 0 54 1;
+#X connect 105 0 56 0;
+#X connect 105 0 45 1;
+#X connect 106 0 68 0;
+#X connect 106 0 70 0;
+#X connect 106 0 84 1;
+#X connect 106 0 53 1;
+#X connect 107 0 75 0;
+#X connect 107 0 76 1;
+#X connect 107 0 78 0;
+#X connect 107 0 68 1;
+#X connect 108 0 36 0;
+#X connect 108 0 37 1;
+#X connect 108 0 29 1;
+#X connect 108 0 39 0;
+#X connect 109 0 47 0;
+#X connect 109 0 48 1;
+#X connect 109 0 58 0;
+#X connect 109 0 36 1;
+#X connect 110 0 55 0;
+#X connect 110 0 56 1;
+#X connect 110 0 47 1;
+#X connect 110 0 61 0;
+#X connect 111 0 69 0;
+#X connect 111 0 70 1;
+#X connect 111 0 79 0;
+#X connect 111 0 55 1;
+#X connect 112 0 77 0;
+#X connect 112 0 78 1;
+#X connect 112 0 69 1;
+#X connect 112 0 82 0;
+#X connect 113 0 38 0;
+#X connect 113 0 39 1;
+#X connect 113 0 40 0;
+#X connect 113 0 63 1;
+#X connect 114 0 57 0;
+#X connect 114 0 58 1;
+#X connect 114 0 59 0;
+#X connect 114 0 38 1;
+#X connect 115 0 60 0;
+#X connect 115 0 61 1;
+#X connect 115 0 62 0;
+#X connect 115 0 57 1;
+#X connect 116 0 79 1;
+#X connect 116 0 80 0;
+#X connect 116 0 85 0;
+#X connect 116 0 60 1;
+#X connect 117 0 81 0;
+#X connect 117 0 82 1;
+#X connect 117 0 83 0;
+#X connect 117 0 85 1;
+#X connect 118 0 26 0;
+#X connect 119 0 27 0;
+#X connect 120 0 28 0;
+#X connect 121 0 29 0;
+#X connect 122 0 63 0;
+#X connect 123 0 31 0;
+#X connect 124 0 40 1;
+#X connect 125 0 59 1;
+#X connect 126 0 42 0;
+#X connect 127 0 65 0;
+#X connect 128 0 72 0;
+#X connect 129 0 71 1;
+#X connect 130 0 73 1;
+#X connect 131 0 75 1;
+#X connect 132 0 77 1;
+#X connect 133 0 81 1;
+#X connect 134 0 62 1;
+#X connect 135 0 80 1;
+#X connect 136 0 83 1;
+#X connect 137 0 9 0;
+#X connect 138 0 11 0;
+#X connect 139 0 24 0;
+#X connect 140 0 10 0;
+#X connect 141 0 161 0;
+#X connect 142 0 161 0;
+#X connect 143 0 161 0;
+#X connect 144 0 147 1;
+#X connect 145 0 147 2;
+#X connect 146 0 147 3;
+#X connect 147 0 17 0;
+#X connect 148 0 147 0;
+#X connect 149 0 99 0;
+#X connect 150 0 99 0;
+#X connect 151 0 99 0;
+#X connect 152 0 139 0;
+#X connect 152 0 137 0;
+#X connect 152 0 140 0;
+#X connect 152 0 138 0;
+#X connect 153 0 7 0;
diff --git a/examples/14_MP_curve3d.pd b/examples/14_MP_curve3d.pd
new file mode 100644
index 0000000..c11abc1
--- /dev/null
+++ b/examples/14_MP_curve3d.pd
@@ -0,0 +1,471 @@
+#N canvas 613 241 763 458 12;
+#X obj 23 83 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X msg 801 142 setK \$1;
+#X msg 798 266 setM \$1;
+#X obj 801 169 s link;
+#X obj 798 294 s mass;
+#X obj 801 116 / 10;
+#X obj 801 90 + 1;
+#X msg 306 107 0 \, destroy;
+#X floatatom 801 68 5 0 0 0 - - -;
+#X floatatom 938 72 5 0 0 0 - - -;
+#X floatatom 798 243 5 0 0 0 - - -;
+#X obj 184 63 loadbang;
+#X obj 23 104 metro 10;
+#X obj 23 128 t b b;
+#X msg 320 137 lighting 1;
+#X obj 581 283 world_light;
+#X obj 581 255 gemhead;
+#X obj 567 185 s gemhead;
+#X obj 567 32 gemhead;
+#X floatatom 589 62 5 0 0 0 - - -;
+#X floatatom 639 63 5 0 0 0 - - -;
+#X floatatom 689 63 5 0 0 0 - - -;
+#X msg 938 95 setD2 \$1;
+#X floatatom 854 73 5 0 0 0 - - -;
+#X msg 854 96 setD \$1;
+#X obj 156 69 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 156 89 t b b b;
+#X msg 207 114 reset;
+#X msg 182 139 resetL;
+#X msg 156 167 resetF;
+#X msg 801 44 2;
+#X msg 798 219 10;
+#X msg 939 47 0.03;
+#X msg 55 271 force3D 0 1 0;
+#X msg 43 248 force3D 0 0 1;
+#X msg 66 296 force3D 1 0 0;
+#X floatatom 621 128 5 0 0 0 - - -;
+#X floatatom 671 129 5 0 0 0 - - -;
+#X floatatom 729 133 5 0 0 0 - - -;
+#X obj 567 158 translateXYZ -2.8 0 0;
+#X obj 567 88 rotateXYZ -40 0 0;
+#N canvas 780 246 348 253 curve3d 0;
+#X obj 71 93 r curve3d;
+#X obj 56 69 r gemhead;
+#X obj 71 126 curve3d 5 5;
+#X obj 93 31 inlet;
+#X connect 0 0 2 0;
+#X connect 1 0 2 0;
+#X connect 3 0 2 0;
+#X restore 381 308 pd curve3d;
+#X msg 381 234 draw control_line;
+#X msg 391 257 draw fill;
+#X msg 401 280 draw line;
+#X msg 222 252 force3D 0 0 8;
+#X msg 211 274 force3D 0 8 0;
+#X msg 202 297 force3D 8 0 0;
+#X msg 854 47 0.05;
+#N canvas 0 0 954 451 structure 0;
+#X obj 331 12 gemMasse2 10 1 0 0;
+#X obj 477 319 gemLia2 0 1 0.1 0.1;
+#X obj 27 194 gemMasse2 10 0 3 0;
+#X obj 634 12 gemMasse2 10 2 0 0;
+#X obj 936 13 gemMasse2 10 3 0 0;
+#X obj 1239 13 gemMasse2 10 4 0 0;
+#X obj 1545 12 gemMasse2 10 5 0 0;
+#X obj 28 73 gemMasse2 10 0 1 0;
+#X obj 1848 74 gemMasse2 10 6 1 0;
+#X obj 1846 133 gemMasse2 10 6 2 0;
+#X obj 27 132 gemMasse2 10 0 2 0;
+#X obj 25 256 gemMasse2 10 0 4 0;
+#X obj 24 318 gemMasse2 10 0 5 0;
+#X obj 323 379 gemMasse2 10 1 6 0;
+#X obj 628 378 gemMasse2 10 2 6 0;
+#X obj 930 379 gemMasse2 10 3 6 0;
+#X obj 1233 379 gemMasse2 10 4 6 0;
+#X obj 1539 378 gemMasse2 10 5 6 0;
+#X obj 1846 196 gemMasse2 10 6 3 0;
+#X obj 1847 258 gemMasse2 10 6 4 0;
+#X obj 1843 319 gemMasse2 10 6 5 0;
+#X obj 331 74 gemMasse3 10 1 1 0;
+#X obj 326 319 gemMasse3 10 1 5 0;
+#X obj 327 134 gemMasse3 10 1 2 0;
+#X obj 329 195 gemMasse3 10 1 3 0;
+#X obj 630 319 gemMasse3 10 2 5 0;
+#X obj 631 258 gemMasse3 10 2 4 0;
+#X obj 631 195 gemMasse3 10 2 3 0;
+#X obj 632 134 gemMasse3 10 2 2 0;
+#X obj 635 74 gemMasse3 10 2 1 0;
+#X obj 935 75 gemMasse3 10 3 1 0;
+#X obj 934 134 gemMasse3 10 3 2 0;
+#X obj 933 196 gemMasse3 10 3 3 0;
+#X obj 931 320 gemMasse3 10 3 5 0;
+#X obj 1238 75 gemMasse3 10 4 1 0;
+#X obj 1237 134 gemMasse3 10 4 2 0;
+#X obj 1236 196 gemMasse3 10 4 3 0;
+#X obj 1236 258 gemMasse3 10 4 4 0;
+#X obj 1234 320 gemMasse3 10 4 5 0;
+#X obj 1545 75 gemMasse3 10 5 1 0;
+#X obj 1544 133 gemMasse3 10 5 2 0;
+#X obj 1543 195 gemMasse3 10 5 3 0;
+#X obj 1541 257 gemMasse3 10 5 4 0;
+#X obj 1540 320 gemMasse3 10 5 5 0;
+#X obj 328 256 gemMasse3 10 1 4 0;
+#X obj 933 258 gemMasse3 10 3 4 0;
+#X obj 111 23 inlet;
+#X obj 178 74 gemLia2 0 1 0.1 0.1;
+#X obj 176 195 gemLia2 0 1 0.1 0.1;
+#X obj 177 133 gemLia2 0 1 0.1 0.1;
+#X obj 175 257 gemLia2 0 1 0.1 0.1;
+#X obj 174 319 gemLia2 0 1 0.1 0.1;
+#X obj 481 74 gemLia2 0 1 0.1 0.1;
+#X obj 480 133 gemLia2 0 1 0.1 0.1;
+#X obj 479 195 gemLia2 0 1 0.1 0.1;
+#X obj 478 257 gemLia2 0 1 0.1 0.1;
+#X obj 331 44 gemLia2 0 1 0.1 0.1;
+#X obj 329 106 gemLia2 0 1 0.1 0.1;
+#X obj 329 165 gemLia2 0 1 0.1 0.1;
+#X obj 328 227 gemLia2 0 1 0.1 0.1;
+#X obj 327 289 gemLia2 0 1 0.1 0.1;
+#X obj 325 351 gemLia2 0 1 0.1 0.1;
+#X obj 634 44 gemLia2 0 1 0.1 0.1;
+#X obj 633 106 gemLia2 0 1 0.1 0.1;
+#X obj 632 165 gemLia2 0 1 0.1 0.1;
+#X obj 631 227 gemLia2 0 1 0.1 0.1;
+#X obj 630 289 gemLia2 0 1 0.1 0.1;
+#X obj 629 351 gemLia2 0 1 0.1 0.1;
+#X obj 935 45 gemLia2 0 1 0.1 0.1;
+#X obj 935 107 gemLia2 0 1 0.1 0.1;
+#X obj 934 166 gemLia2 0 1 0.1 0.1;
+#X obj 933 228 gemLia2 0 1 0.1 0.1;
+#X obj 932 290 gemLia2 0 1 0.1 0.1;
+#X obj 931 352 gemLia2 0 1 0.1 0.1;
+#X obj 1239 45 gemLia2 0 1 0.1 0.1;
+#X obj 1238 107 gemLia2 0 1 0.1 0.1;
+#X obj 1238 166 gemLia2 0 1 0.1 0.1;
+#X obj 1236 228 gemLia2 0 1 0.1 0.1;
+#X obj 1235 290 gemLia2 0 1 0.1 0.1;
+#X obj 1234 352 gemLia2 0 1 0.1 0.1;
+#X obj 784 75 gemLia2 0 1 0.1 0.1;
+#X obj 782 134 gemLia2 0 1 0.1 0.1;
+#X obj 781 196 gemLia2 0 1 0.1 0.1;
+#X obj 781 258 gemLia2 0 1 0.1 0.1;
+#X obj 779 320 gemLia2 0 1 0.1 0.1;
+#X obj 1086 75 gemLia2 0 1 0.1 0.1;
+#X obj 1085 134 gemLia2 0 1 0.1 0.1;
+#X obj 1085 196 gemLia2 0 1 0.1 0.1;
+#X obj 1083 259 gemLia2 0 1 0.1 0.1;
+#X obj 1082 320 gemLia2 0 1 0.1 0.1;
+#X obj 1392 74 gemLia2 0 1 0.1 0.1;
+#X obj 1391 133 gemLia2 0 1 0.1 0.1;
+#X obj 1390 195 gemLia2 0 1 0.1 0.1;
+#X obj 1389 257 gemLia2 0 1 0.1 0.1;
+#X obj 1389 319 gemLia2 0 1 0.1 0.1;
+#X obj 1545 44 gemLia2 0 1 0.1 0.1;
+#X obj 1544 106 gemLia2 0 1 0.1 0.1;
+#X obj 1543 165 gemLia2 0 1 0.1 0.1;
+#X obj 1542 227 gemLia2 0 1 0.1 0.1;
+#X obj 1541 289 gemLia2 0 1 0.1 0.1;
+#X obj 1540 351 gemLia2 0 1 0.1 0.1;
+#X obj 1695 74 gemLia2 0 1 0.1 0.1;
+#X obj 1694 133 gemLia2 0 1 0.1 0.1;
+#X obj 1693 195 gemLia2 0 1 0.1 0.1;
+#X obj 1692 257 gemLia2 0 1 0.1 0.1;
+#X obj 1691 319 gemLia2 0 1 0.1 0.1;
+#X connect 0 0 56 0;
+#X connect 1 0 22 0;
+#X connect 1 1 25 0;
+#X connect 2 0 48 0;
+#X connect 3 0 62 0;
+#X connect 4 0 68 0;
+#X connect 5 0 74 0;
+#X connect 6 0 95 0;
+#X connect 7 0 47 0;
+#X connect 8 0 101 1;
+#X connect 9 0 102 1;
+#X connect 10 0 49 0;
+#X connect 11 0 50 0;
+#X connect 12 0 51 0;
+#X connect 13 0 61 1;
+#X connect 14 0 67 1;
+#X connect 15 0 73 1;
+#X connect 16 0 79 1;
+#X connect 17 0 100 1;
+#X connect 18 0 103 1;
+#X connect 19 0 104 1;
+#X connect 20 0 105 1;
+#X connect 21 0 47 1;
+#X connect 21 0 52 0;
+#X connect 21 0 56 1;
+#X connect 21 0 57 0;
+#X connect 22 0 1 0;
+#X connect 22 0 51 1;
+#X connect 22 0 60 1;
+#X connect 22 0 61 0;
+#X connect 23 0 49 1;
+#X connect 23 0 53 0;
+#X connect 23 0 57 1;
+#X connect 23 0 58 0;
+#X connect 24 0 48 1;
+#X connect 24 0 54 0;
+#X connect 24 0 58 1;
+#X connect 24 0 59 0;
+#X connect 25 0 1 1;
+#X connect 25 0 66 1;
+#X connect 25 0 67 0;
+#X connect 25 0 84 0;
+#X connect 26 0 55 1;
+#X connect 26 0 65 1;
+#X connect 26 0 66 0;
+#X connect 26 0 83 0;
+#X connect 27 0 54 1;
+#X connect 27 0 64 1;
+#X connect 27 0 65 0;
+#X connect 27 0 82 0;
+#X connect 28 0 53 1;
+#X connect 28 0 63 1;
+#X connect 28 0 64 0;
+#X connect 28 0 81 0;
+#X connect 29 0 52 1;
+#X connect 29 0 62 1;
+#X connect 29 0 63 0;
+#X connect 29 0 80 0;
+#X connect 30 0 68 1;
+#X connect 30 0 69 0;
+#X connect 30 0 80 1;
+#X connect 30 0 85 0;
+#X connect 31 0 69 1;
+#X connect 31 0 70 0;
+#X connect 31 0 81 1;
+#X connect 31 0 86 0;
+#X connect 32 0 70 1;
+#X connect 32 0 71 0;
+#X connect 32 0 82 1;
+#X connect 32 0 87 0;
+#X connect 33 0 72 1;
+#X connect 33 0 73 0;
+#X connect 33 0 84 1;
+#X connect 33 0 89 0;
+#X connect 34 0 74 1;
+#X connect 34 0 75 0;
+#X connect 34 0 85 1;
+#X connect 34 0 90 0;
+#X connect 35 0 75 1;
+#X connect 35 0 76 0;
+#X connect 35 0 86 1;
+#X connect 35 0 91 0;
+#X connect 36 0 76 1;
+#X connect 36 0 77 0;
+#X connect 36 0 87 1;
+#X connect 36 0 92 0;
+#X connect 37 0 77 1;
+#X connect 37 0 78 0;
+#X connect 37 0 88 1;
+#X connect 37 0 93 0;
+#X connect 38 0 78 1;
+#X connect 38 0 79 0;
+#X connect 38 0 89 1;
+#X connect 38 0 94 0;
+#X connect 39 0 90 1;
+#X connect 39 0 95 1;
+#X connect 39 0 96 0;
+#X connect 39 0 101 0;
+#X connect 40 0 91 1;
+#X connect 40 0 96 1;
+#X connect 40 0 97 0;
+#X connect 40 0 102 0;
+#X connect 41 0 92 1;
+#X connect 41 0 97 1;
+#X connect 41 0 98 0;
+#X connect 41 0 103 0;
+#X connect 42 0 93 1;
+#X connect 42 0 98 1;
+#X connect 42 0 99 0;
+#X connect 42 0 104 0;
+#X connect 43 0 94 1;
+#X connect 43 0 99 1;
+#X connect 43 0 100 0;
+#X connect 43 0 105 0;
+#X connect 44 0 50 1;
+#X connect 44 0 55 0;
+#X connect 44 0 59 1;
+#X connect 44 0 60 0;
+#X connect 45 0 71 1;
+#X connect 45 0 72 0;
+#X connect 45 0 83 1;
+#X connect 45 0 88 0;
+#X connect 46 0 28 0;
+#X connect 46 0 31 0;
+#X connect 47 0 7 0;
+#X connect 47 1 21 0;
+#X connect 48 0 2 0;
+#X connect 48 1 24 0;
+#X connect 49 0 10 0;
+#X connect 49 1 23 0;
+#X connect 50 0 11 0;
+#X connect 50 1 44 0;
+#X connect 51 0 12 0;
+#X connect 51 1 22 0;
+#X connect 52 0 21 0;
+#X connect 52 1 29 0;
+#X connect 53 0 23 0;
+#X connect 53 1 28 0;
+#X connect 54 0 24 0;
+#X connect 54 1 27 0;
+#X connect 55 0 44 0;
+#X connect 55 1 26 0;
+#X connect 56 0 0 0;
+#X connect 56 1 21 0;
+#X connect 57 0 21 0;
+#X connect 57 1 23 0;
+#X connect 58 0 23 0;
+#X connect 58 1 24 0;
+#X connect 59 0 24 0;
+#X connect 59 1 44 0;
+#X connect 60 0 44 0;
+#X connect 60 1 22 0;
+#X connect 61 0 22 0;
+#X connect 61 1 13 0;
+#X connect 62 0 3 0;
+#X connect 62 1 29 0;
+#X connect 63 0 29 0;
+#X connect 63 1 28 0;
+#X connect 64 0 28 0;
+#X connect 64 1 27 0;
+#X connect 65 0 27 0;
+#X connect 65 1 26 0;
+#X connect 66 0 26 0;
+#X connect 66 1 25 0;
+#X connect 67 0 25 0;
+#X connect 67 1 14 0;
+#X connect 68 0 4 0;
+#X connect 68 1 30 0;
+#X connect 69 0 30 0;
+#X connect 69 1 31 0;
+#X connect 70 0 31 0;
+#X connect 70 1 32 0;
+#X connect 71 0 32 0;
+#X connect 71 1 45 0;
+#X connect 72 0 45 0;
+#X connect 72 1 33 0;
+#X connect 73 0 33 0;
+#X connect 73 1 15 0;
+#X connect 74 0 5 0;
+#X connect 74 1 34 0;
+#X connect 75 0 34 0;
+#X connect 75 1 35 0;
+#X connect 76 0 35 0;
+#X connect 76 1 36 0;
+#X connect 77 0 36 0;
+#X connect 77 1 37 0;
+#X connect 78 0 37 0;
+#X connect 78 1 38 0;
+#X connect 79 0 38 0;
+#X connect 79 1 16 0;
+#X connect 80 0 29 0;
+#X connect 80 1 30 0;
+#X connect 81 0 28 0;
+#X connect 81 1 31 0;
+#X connect 82 0 27 0;
+#X connect 82 1 32 0;
+#X connect 83 0 26 0;
+#X connect 83 1 45 0;
+#X connect 84 0 25 0;
+#X connect 84 1 33 0;
+#X connect 85 0 30 0;
+#X connect 85 1 34 0;
+#X connect 86 0 31 0;
+#X connect 86 1 35 0;
+#X connect 87 0 32 0;
+#X connect 87 1 36 0;
+#X connect 88 0 45 0;
+#X connect 88 1 37 0;
+#X connect 89 0 33 0;
+#X connect 89 1 38 0;
+#X connect 90 0 34 0;
+#X connect 90 1 39 0;
+#X connect 91 0 35 0;
+#X connect 91 1 40 0;
+#X connect 92 0 36 0;
+#X connect 92 1 41 0;
+#X connect 93 0 37 0;
+#X connect 93 1 42 0;
+#X connect 94 0 38 0;
+#X connect 94 1 43 0;
+#X connect 95 0 6 0;
+#X connect 95 1 39 0;
+#X connect 96 0 39 0;
+#X connect 96 1 40 0;
+#X connect 97 0 40 0;
+#X connect 97 1 41 0;
+#X connect 98 0 41 0;
+#X connect 98 1 42 0;
+#X connect 99 0 42 0;
+#X connect 99 1 43 0;
+#X connect 100 0 43 0;
+#X connect 100 1 17 0;
+#X connect 101 0 39 0;
+#X connect 101 1 8 0;
+#X connect 102 0 40 0;
+#X connect 102 1 9 0;
+#X connect 103 0 41 0;
+#X connect 103 1 18 0;
+#X connect 104 0 42 0;
+#X connect 104 1 19 0;
+#X connect 105 0 43 0;
+#X connect 105 1 20 0;
+#X restore 222 328 pd structure;
+#X obj 287 169 gemwin 40;
+#X msg 286 73 reset \, lighting 1 \, create \, 1;
+#X text 77 11 This is the same as previus exemple \, but using a diferent
+visualisation.;
+#X text 48 79 <- 1;
+#X text 518 73 <- 2;
+#X obj 215 170 s masse;
+#X obj 207 202 s masse2;
+#X obj 94 155 s lia;
+#X obj 23 154 s masse;
+#X obj 156 203 s lia;
+#X obj 48 321 s masse;
+#X connect 0 0 12 0;
+#X connect 1 0 3 0;
+#X connect 2 0 4 0;
+#X connect 5 0 1 0;
+#X connect 6 0 5 0;
+#X connect 7 0 50 0;
+#X connect 8 0 6 0;
+#X connect 9 0 22 0;
+#X connect 10 0 2 0;
+#X connect 11 0 26 0;
+#X connect 12 0 13 0;
+#X connect 13 0 58 0;
+#X connect 13 1 57 0;
+#X connect 14 0 50 0;
+#X connect 16 0 15 0;
+#X connect 18 0 40 0;
+#X connect 19 0 40 1;
+#X connect 20 0 40 2;
+#X connect 21 0 40 3;
+#X connect 22 0 3 0;
+#X connect 23 0 24 0;
+#X connect 24 0 3 0;
+#X connect 25 0 26 0;
+#X connect 26 0 29 0;
+#X connect 26 1 28 0;
+#X connect 26 2 27 0;
+#X connect 27 0 55 0;
+#X connect 27 0 56 0;
+#X connect 28 0 59 0;
+#X connect 29 0 59 0;
+#X connect 30 0 8 0;
+#X connect 31 0 10 0;
+#X connect 32 0 9 0;
+#X connect 33 0 60 0;
+#X connect 34 0 60 0;
+#X connect 35 0 60 0;
+#X connect 36 0 39 1;
+#X connect 37 0 39 2;
+#X connect 38 0 39 3;
+#X connect 39 0 17 0;
+#X connect 40 0 39 0;
+#X connect 42 0 41 0;
+#X connect 43 0 41 0;
+#X connect 44 0 41 0;
+#X connect 45 0 49 0;
+#X connect 46 0 49 0;
+#X connect 47 0 49 0;
+#X connect 48 0 23 0;
+#X connect 51 0 50 0;
diff --git a/examples/15_constant_force_field.pd b/examples/15_constant_force_field.pd
new file mode 100644
index 0000000..4882d29
--- /dev/null
+++ b/examples/15_constant_force_field.pd
@@ -0,0 +1,283 @@
+#N canvas 40 72 795 432 12;
+#X obj 16 104 t b b;
+#X obj 16 56 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1
+;
+#X obj 94 57 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X msg 258 79 0 \, destroy;
+#X msg 224 54 reset \, create \, 1;
+#N canvas 510 193 970 698 structure 0;
+#X obj 124 314 pd_link \$0;
+#X obj 27 290 pd_mass -1 0 \$0;
+#X obj 49 445 pd_link \$0;
+#X obj 123 558 pd_mass -0.7 -0.7 \$0;
+#X obj 198 502 pd_link \$0;
+#X obj 124 43 pd_mass -0.7 0.7 \$0;
+#X obj 189 113 pd_link \$0;
+#X obj 69 161 pd_link \$0;
+#X obj 201 187 pd_link \$0;
+#X obj 213 373 pd_link \$0;
+#X obj 279 598 pd_link \$0;
+#X obj 399 624 pd_mass 0 -1 \$0;
+#X obj 410 562 pd_link \$0;
+#X obj 580 585 pd_link \$0;
+#X obj 310 327 pd_link \$0;
+#X obj 388 330 pd_link \$0;
+#X obj 468 330 pd_link \$0;
+#X obj 338 427 pd_link \$0;
+#X obj 509 422 pd_link \$0;
+#X obj 304 26 pd_link \$0;
+#X obj 436 16 pd_mass 0 1 \$0;
+#X obj 441 57 pd_link \$0;
+#X obj 347 129 pd_link \$0;
+#X obj 308 231 pd_link \$0;
+#X obj 304 280 pd_link \$0;
+#X obj 393 227 pd_link \$0;
+#X obj 475 227 pd_link \$0;
+#X obj 529 278 pd_link \$0;
+#X obj 604 358 pd_link \$0;
+#X obj 678 291 pd_link \$0;
+#X obj 604 221 pd_link \$0;
+#X obj 499 135 pd_link \$0;
+#X obj 571 43 pd_link \$0;
+#X obj 612 101 pd_link \$0;
+#X obj 749 179 pd_link \$0;
+#X obj 680 64 pd_mass 0.7 0.7 \$0;
+#X obj 766 285 pd_mass 1 0 \$0;
+#X obj 763 429 pd_link \$0;
+#X obj 671 510 pd_link \$0;
+#X obj 748 552 pd_mass 0.7 -0.7 \$0;
+#X obj 407 274 pd_mass 0 0 \$0;
+#X connect 0 0 5 0;
+#X connect 0 1 3 0;
+#X connect 1 0 2 0;
+#X connect 1 0 4 0;
+#X connect 1 0 6 0;
+#X connect 1 0 7 0;
+#X connect 1 0 17 0;
+#X connect 1 0 22 0;
+#X connect 1 0 24 0;
+#X connect 2 0 1 0;
+#X connect 2 1 3 0;
+#X connect 3 0 0 1;
+#X connect 3 0 2 1;
+#X connect 3 0 8 1;
+#X connect 3 0 10 0;
+#X connect 3 0 12 0;
+#X connect 3 0 14 0;
+#X connect 3 0 18 0;
+#X connect 4 0 1 0;
+#X connect 4 1 11 0;
+#X connect 5 0 0 0;
+#X connect 5 0 7 1;
+#X connect 5 0 9 0;
+#X connect 5 0 19 0;
+#X connect 5 0 21 0;
+#X connect 5 0 23 0;
+#X connect 5 0 31 0;
+#X connect 6 0 1 0;
+#X connect 6 1 20 0;
+#X connect 7 0 1 0;
+#X connect 7 1 5 0;
+#X connect 8 0 20 0;
+#X connect 8 1 3 0;
+#X connect 9 0 5 0;
+#X connect 9 1 11 0;
+#X connect 10 0 3 0;
+#X connect 10 1 11 0;
+#X connect 11 0 4 1;
+#X connect 11 0 9 1;
+#X connect 11 0 10 1;
+#X connect 11 0 13 0;
+#X connect 11 0 15 1;
+#X connect 11 0 28 0;
+#X connect 11 0 38 0;
+#X connect 12 0 3 0;
+#X connect 12 1 39 0;
+#X connect 13 0 11 0;
+#X connect 13 1 39 0;
+#X connect 14 0 3 0;
+#X connect 14 1 40 0;
+#X connect 15 0 40 0;
+#X connect 15 1 11 0;
+#X connect 16 0 40 0;
+#X connect 16 1 39 0;
+#X connect 17 0 1 0;
+#X connect 17 1 39 0;
+#X connect 18 0 3 0;
+#X connect 18 1 36 0;
+#X connect 19 0 5 0;
+#X connect 19 1 20 0;
+#X connect 20 0 6 1;
+#X connect 20 0 8 0;
+#X connect 20 0 19 1;
+#X connect 20 0 25 1;
+#X connect 20 0 30 0;
+#X connect 20 0 32 0;
+#X connect 20 0 33 0;
+#X connect 21 0 5 0;
+#X connect 21 1 35 0;
+#X connect 22 0 1 0;
+#X connect 22 1 35 0;
+#X connect 23 0 5 0;
+#X connect 23 1 40 0;
+#X connect 24 0 1 0;
+#X connect 24 1 40 0;
+#X connect 25 0 40 0;
+#X connect 25 1 20 0;
+#X connect 26 0 40 0;
+#X connect 26 1 35 0;
+#X connect 27 0 40 0;
+#X connect 27 1 36 0;
+#X connect 28 0 11 0;
+#X connect 28 1 35 0;
+#X connect 29 0 39 0;
+#X connect 29 1 35 0;
+#X connect 30 0 20 0;
+#X connect 30 1 39 0;
+#X connect 31 0 5 0;
+#X connect 31 1 36 0;
+#X connect 32 0 20 0;
+#X connect 32 1 35 0;
+#X connect 33 0 20 0;
+#X connect 33 1 36 0;
+#X connect 34 0 35 0;
+#X connect 34 1 36 0;
+#X connect 35 0 21 1;
+#X connect 35 0 22 1;
+#X connect 35 0 26 1;
+#X connect 35 0 28 1;
+#X connect 35 0 29 1;
+#X connect 35 0 32 1;
+#X connect 35 0 34 0;
+#X connect 36 0 18 1;
+#X connect 36 0 27 1;
+#X connect 36 0 31 1;
+#X connect 36 0 33 1;
+#X connect 36 0 34 1;
+#X connect 36 0 37 0;
+#X connect 36 0 38 1;
+#X connect 37 0 36 0;
+#X connect 37 1 39 0;
+#X connect 38 0 11 0;
+#X connect 38 1 36 0;
+#X connect 39 0 12 1;
+#X connect 39 0 13 1;
+#X connect 39 0 16 1;
+#X connect 39 0 17 1;
+#X connect 39 0 29 0;
+#X connect 39 0 30 1;
+#X connect 39 0 37 1;
+#X connect 40 0 14 1;
+#X connect 40 0 15 0;
+#X connect 40 0 16 0;
+#X connect 40 0 23 1;
+#X connect 40 0 24 1;
+#X connect 40 0 25 0;
+#X connect 40 0 26 0;
+#X connect 40 0 27 0;
+#X restore 372 150 pd structure;
+#X msg 590 101 force2D 0 5;
+#X msg 646 127 force2D 5 0;
+#N canvas 623 135 504 293 init 0;
+#X msg 200 169 setK \$1;
+#X msg 274 143 setD \$1;
+#X msg 416 115 setM \$1;
+#X floatatom 200 94 5 -10 200 0 - - -;
+#X floatatom 274 92 5 0 0 0 - - -;
+#X floatatom 416 92 5 0 0 0 - - -;
+#X obj 200 143 / 10;
+#X obj 200 117 + 1;
+#X obj 274 116 / 10;
+#X msg 200 67 100;
+#X msg 274 68 25;
+#X msg 416 66 50;
+#X floatatom 341 92 5 0 0 0 - - -;
+#X obj 341 116 / 10;
+#X msg 341 143 setD2 \$1;
+#X msg 341 68 1;
+#X obj 200 201 s \$0-link;
+#X obj 416 143 s \$0-mass;
+#X obj 42 50 loadbang;
+#X obj 44 202 s \$0-mass;
+#X msg 44 84 setXmin -3.8;
+#X msg 57 109 setXmax 3.8;
+#X msg 75 133 setYmin -3.8;
+#X msg 88 159 setYmax 3.8;
+#X connect 0 0 16 0;
+#X connect 1 0 16 0;
+#X connect 2 0 17 0;
+#X connect 3 0 7 0;
+#X connect 4 0 8 0;
+#X connect 5 0 2 0;
+#X connect 6 0 0 0;
+#X connect 7 0 6 0;
+#X connect 8 0 1 0;
+#X connect 9 0 3 0;
+#X connect 10 0 4 0;
+#X connect 11 0 5 0;
+#X connect 12 0 13 0;
+#X connect 13 0 14 0;
+#X connect 14 0 16 0;
+#X connect 15 0 12 0;
+#X connect 18 0 20 0;
+#X connect 18 0 21 0;
+#X connect 18 0 22 0;
+#X connect 18 0 23 0;
+#X connect 20 0 19 0;
+#X connect 21 0 19 0;
+#X connect 22 0 19 0;
+#X connect 23 0 19 0;
+#X restore 372 123 pd init;
+#X obj 117 52 loadbang;
+#X msg 592 155 force2D 0 -5;
+#X msg 535 128 force2D -5 0;
+#X obj 51 181 s \$0-link;
+#X obj 16 209 s \$0-mass;
+#X obj 591 187 s \$0-mass;
+#X msg 145 108 reset;
+#X msg 119 132 resetL;
+#X msg 94 153 resetF;
+#X obj 94 81 t b b b;
+#X obj 223 176 color 1 0 0;
+#X obj 223 231 rectangle 2 1;
+#X obj 223 146 gemhead 40;
+#X obj 223 205 translateXYZ -2 -3 0;
+#X text 437 310 <- positive Y force : just in the red square;
+#X text 239 284 <- negative Y force (gravity) everywhere.;
+#X text 92 361 the red square is a place with force from bottom to
+top. like a ball in wather.;
+#X obj 16 77 metro 50;
+#X obj 224 107 gemwin;
+#X obj 26 285 iAmbient2D \$0-mass 0 -1;
+#X obj 24 309 iAmbient2D \$0-mass 0 3 0 0 0 -4 0 -4 -2;
+#X text 285 -27 This is the same ball as prevuis exemple \, but in
+a differents context.;
+#X obj 646 72 loadbang;
+#X text 40 54 <- 1;
+#X text 359 55 <- 2;
+#X text 579 212 move the structure;
+#X connect 0 0 13 0;
+#X connect 0 1 12 0;
+#X connect 0 1 28 0;
+#X connect 0 1 29 0;
+#X connect 1 0 26 0;
+#X connect 2 0 18 0;
+#X connect 3 0 27 0;
+#X connect 4 0 27 0;
+#X connect 6 0 14 0;
+#X connect 7 0 14 0;
+#X connect 9 0 18 0;
+#X connect 10 0 14 0;
+#X connect 11 0 14 0;
+#X connect 15 0 13 0;
+#X connect 16 0 12 0;
+#X connect 17 0 12 0;
+#X connect 18 0 17 0;
+#X connect 18 1 16 0;
+#X connect 18 2 15 0;
+#X connect 19 0 22 0;
+#X connect 21 0 19 0;
+#X connect 22 0 20 0;
+#X connect 26 0 0 0;
+#X connect 31 0 7 0;
diff --git a/examples/16_name_and_interactors.pd b/examples/16_name_and_interactors.pd
new file mode 100644
index 0000000..bf1525d
--- /dev/null
+++ b/examples/16_name_and_interactors.pd
@@ -0,0 +1,148 @@
+#N canvas 34 14 669 578 12;
+#X obj 9 18 t b b;
+#X obj 9 -30 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 158 -6 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X msg 238 46 0 \, destroy;
+#X msg 204 21 reset \, create \, 1;
+#N canvas 623 135 504 293 init 0;
+#X obj 49 50 loadbang;
+#X msg 44 84 Xmin -3.8;
+#X msg 58 110 Xmax 3.8;
+#X msg 81 131 Ymin -3.8;
+#X msg 95 157 Ymax 3.8;
+#X obj 47 201 s \$0-mass;
+#X connect 0 0 1 0;
+#X connect 0 0 2 0;
+#X connect 0 0 3 0;
+#X connect 0 0 4 0;
+#X connect 1 0 5 0;
+#X connect 2 0 5 0;
+#X connect 3 0 5 0;
+#X connect 4 0 5 0;
+#X restore 401 -8 pd init;
+#X obj 88 -11 loadbang;
+#X msg 139 45 reset;
+#X msg 113 69 resetL;
+#X msg 88 93 resetF;
+#X obj 88 18 t b b b;
+#X obj 9 -9 metro 50;
+#X obj 204 74 gemwin;
+#X text 90 152 negative Y force (gravity);
+#X text 86 266 positive Y force;
+#X obj 23 498 gemhead;
+#X obj 43 524 unpack s f f;
+#X obj 42 551 translateXYZ 0 0 0;
+#X obj 42 583 sphere 0.3;
+#X obj 173 498 gemhead;
+#X obj 193 524 unpack s f f;
+#X obj 192 551 translateXYZ 0 0 0;
+#X obj 192 583 sphere 0.3;
+#X obj 330 499 gemhead;
+#X obj 350 525 unpack s f f;
+#X obj 349 552 translateXYZ 0 0 0;
+#X obj 349 584 sphere 0.3;
+#X obj 479 499 gemhead;
+#X obj 499 525 unpack s f f;
+#X obj 498 552 translateXYZ 0 0 0;
+#X obj 498 584 sphere 0.3;
+#X obj 628 499 gemhead;
+#X obj 648 525 unpack s f f;
+#X obj 647 552 translateXYZ 0 0 0;
+#X obj 647 584 sphere 0.3;
+#X obj 44 465 mass2D foo 1 -2 3;
+#X obj 193 465 mass2D foo2 1 -1 3;
+#X obj 350 465 mass2D foo3 1 0 3;
+#X obj 499 465 mass2D foo4 1 1 3;
+#X obj 648 465 mass2D foo 1 2 3;
+#X obj 9 123 s mass;
+#X obj 55 437 r mass;
+#X obj 193 438 r mass;
+#X obj 350 436 r mass;
+#X obj 499 436 r mass;
+#X obj 648 437 r mass;
+#X obj 52 174 iAmbient2D foo 0 -0.1;
+#X obj 63 201 iAmbient2D foo2 0 -0.1;
+#X obj 76 227 iAmbient2D foo3 0 -0.1;
+#X text 268 173 force is apply to mass named foo \, foo2 and foo3
+;
+#X text 344 287 a positive forece is apply to foo2 \, and to foo3 (according
+to pd link). this force allows mass 2 and 3 to stay at Y=0.;
+#X obj 529 657 iAmbient2D;
+#X obj 530 684 iLine2D;
+#X obj 530 710 iSeg2D;
+#X obj 530 737 iCircle2D;
+#X msg 17 406 reset;
+#X obj 17 379 sel 1;
+#X obj 17 351 tSquare2D -4 4 -10000 -4;
+#X text 260 345 tSquare is a test : test if the position of the mass
+is in a specific square. This test is used to reset the mass to it's
+initial state if the mass go out of the screen.;
+#X obj 44 292 iSeg2D foo2 -3 0 3 0 3 0 0 0.5 1;
+#X text 398 -34 This patch explain how interactors works;
+#X text 283 195 but not to foo4 \, so it will not move.;
+#X text 201 -10 <- reset;
+#X text 348 50 interactor are design to be a kind of link beetween
+masss and a simple object.;
+#X text 347 85 interactors can be a link to all mass with the same
+name. It's easier to patch than putting a link object for all link.
+;
+#X text 41 655 for more informations about interactors or test \, see
+the help file :;
+#X obj 623 683 tLine2D;
+#X obj 623 709 tSeg2D;
+#X obj 623 736 tCircle2D;
+#X obj 622 656 tSquare2D;
+#X text 356 20 <- 1 GEM window;
+#X text 34 -37 <- 2 begin simulation;
+#X connect 0 0 40 0;
+#X connect 0 1 46 0;
+#X connect 0 1 47 0;
+#X connect 0 1 48 0;
+#X connect 0 1 59 0;
+#X connect 1 0 11 0;
+#X connect 2 0 10 0;
+#X connect 3 0 12 0;
+#X connect 4 0 12 0;
+#X connect 6 0 10 0;
+#X connect 7 0 40 0;
+#X connect 10 0 9 0;
+#X connect 10 1 8 0;
+#X connect 10 2 7 0;
+#X connect 11 0 0 0;
+#X connect 15 0 17 0;
+#X connect 16 1 17 1;
+#X connect 16 2 17 2;
+#X connect 17 0 18 0;
+#X connect 19 0 21 0;
+#X connect 20 1 21 1;
+#X connect 20 2 21 2;
+#X connect 21 0 22 0;
+#X connect 23 0 25 0;
+#X connect 24 1 25 1;
+#X connect 24 2 25 2;
+#X connect 25 0 26 0;
+#X connect 27 0 29 0;
+#X connect 28 1 29 1;
+#X connect 28 2 29 2;
+#X connect 29 0 30 0;
+#X connect 31 0 33 0;
+#X connect 32 1 33 1;
+#X connect 32 2 33 2;
+#X connect 33 0 34 0;
+#X connect 35 0 16 0;
+#X connect 35 0 57 0;
+#X connect 36 0 20 0;
+#X connect 37 0 24 0;
+#X connect 38 0 28 0;
+#X connect 39 0 32 0;
+#X connect 41 0 35 0;
+#X connect 42 0 36 0;
+#X connect 43 0 37 0;
+#X connect 44 0 38 0;
+#X connect 45 0 39 0;
+#X connect 55 0 35 0;
+#X connect 56 0 55 0;
+#X connect 57 0 56 0;
+#X connect 59 0 37 0;
diff --git a/examples/17_rnd_mouvmnt_and_obstacles.pd b/examples/17_rnd_mouvmnt_and_obstacles.pd
new file mode 100644
index 0000000..4a2edfc
--- /dev/null
+++ b/examples/17_rnd_mouvmnt_and_obstacles.pd
@@ -0,0 +1,74 @@
+#N canvas 29 57 762 481 10;
+#X obj 18 182 t b b;
+#X obj 18 134 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 18 155 metro 50;
+#X obj 107 138 loadbang;
+#X obj 433 139 fluide_mass;
+#X msg 56 65 0 \, destroy;
+#X obj 22 93 gemwin;
+#X msg 22 40 reset \, create \, 1;
+#X obj 18 446 s mass;
+#X obj 346 141 gemhead;
+#X obj 346 164 sphere 0.7;
+#X obj 118 187 s reset_mass;
+#X msg 107 163 bang;
+#X obj 443 149 fluide_mass;
+#X obj 453 159 fluide_mass;
+#X obj 463 169 fluide_mass;
+#X obj 473 179 fluide_mass;
+#X obj 483 189 fluide_mass;
+#X obj 493 199 fluide_mass;
+#X obj 503 209 fluide_mass;
+#X obj 513 219 fluide_mass;
+#X obj 523 229 fluide_mass;
+#X obj 533 239 fluide_mass;
+#X obj 543 249 fluide_mass;
+#X obj 553 259 fluide_mass;
+#X obj 534 138 fluide_mass;
+#X obj 544 148 fluide_mass;
+#X obj 554 158 fluide_mass;
+#X obj 564 168 fluide_mass;
+#X obj 574 178 fluide_mass;
+#X obj 584 188 fluide_mass;
+#X obj 594 198 fluide_mass;
+#X obj 604 208 fluide_mass;
+#X obj 614 218 fluide_mass;
+#X obj 624 228 fluide_mass;
+#X obj 634 238 fluide_mass;
+#X obj 644 248 fluide_mass;
+#X obj 654 258 fluide_mass;
+#X obj 664 268 fluide_mass;
+#X text 283 49 the mouving particules don't interact each other;
+#X text 283 65 they interact with 4 lines (the border of the screen)
+\, and with a central circle so they bonce on the obstacle.;
+#X obj 107 285 iAmbient2D mass 0 0 3 3;
+#X obj 43 308 iLine2D mass 3 -3 3 3 1000 0 0 1;
+#X obj 53 332 iLine2D mass -3 3 -3 -3 1000 0 0 1;
+#X obj 68 355 iLine2D mass 3 3 -3 3 1000 0 0 1;
+#X obj 78 378 iLine2D mass -3 -3 3 -3 1000 0 0 1;
+#X obj 43 417 iCircle2D mass 0 0 0 1 0 0 10;
+#X obj 563 269 fluide_mass;
+#X text 302 287 <- give random speed when starting the patch;
+#X text 301 309 <- right border;
+#X text 302 331 <- left border;
+#X text 302 353 <- top border;
+#X text 302 375 <- bottom border;
+#X text 302 416 <- circular interaction in the center;
+#X text 328 25 interactor to a collection of masss;
+#X text 132 40 <- 1;
+#X text 45 131 <- 2;
+#X connect 0 0 8 0;
+#X connect 0 1 42 0;
+#X connect 0 1 43 0;
+#X connect 0 1 44 0;
+#X connect 0 1 45 0;
+#X connect 0 1 46 0;
+#X connect 1 0 2 0;
+#X connect 2 0 0 0;
+#X connect 3 0 12 0;
+#X connect 5 0 6 0;
+#X connect 7 0 6 0;
+#X connect 9 0 10 0;
+#X connect 12 0 11 0;
+#X connect 12 0 41 0;
diff --git a/examples/18_flipper.pd b/examples/18_flipper.pd
new file mode 100644
index 0000000..bc985df
--- /dev/null
+++ b/examples/18_flipper.pd
@@ -0,0 +1,265 @@
+#N canvas 106 59 736 538 10;
+#X obj 11 91 t b b;
+#X obj 11 43 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 60 86 loadbang;
+#X msg 60 108 reset;
+#X msg 185 104 0 \, destroy;
+#X obj 11 132 s mass;
+#X obj 481 330 gemhead;
+#X obj 481 363 translateXYZ;
+#X obj 470 303 unpack s f f;
+#X obj 11 64 metro 5;
+#X obj 481 392 sphere 0.2;
+#X msg 198 129 reset \, dimen 400 800 \, create \, 1;
+#N canvas 435 26 414 248 bords 0;
+#X obj 10 9 inlet;
+#X obj 39 165 curve 2;
+#X obj 37 101 gemhead;
+#X obj 101 116 loadbang;
+#X obj 198 166 curve 2;
+#X obj 196 102 gemhead;
+#X obj 260 117 loadbang;
+#X msg 66 141 -2 1 0;
+#X msg 225 142 2 1 0;
+#X msg 130 139 -1 -3 0;
+#X msg 289 140 1 -3 0;
+#X obj 18 34 iSeg2D mass -2 1 -1 -3 10 0 0 1 0.3 0.3;
+#X obj 18 58 iSeg2D mass 1 -3 2 1 10 0 0 1 0.3 0.3;
+#X connect 0 0 11 0;
+#X connect 0 0 12 0;
+#X connect 2 0 1 0;
+#X connect 3 0 7 0;
+#X connect 3 0 9 0;
+#X connect 5 0 4 0;
+#X connect 6 0 8 0;
+#X connect 6 0 10 0;
+#X connect 7 0 1 1;
+#X connect 8 0 4 1;
+#X connect 9 0 1 2;
+#X connect 10 0 4 2;
+#X restore 81 214 pd bords;
+#N canvas 585 242 753 499 curseur 0;
+#X obj 23 20 inlet;
+#X obj 343 300 curve 2;
+#X obj 343 247 gemhead;
+#X obj 516 23 loadbang;
+#X obj 568 307 curve 2;
+#X obj 568 257 gemhead;
+#X obj 399 143 sin;
+#X obj 361 142 cos;
+#X obj 400 166 * 0.8;
+#X obj 362 167 * 0.8;
+#X obj 360 216 pack f f 0;
+#X obj 365 118 t f f;
+#X obj 362 189 - 1;
+#X obj 400 190 - 2.5;
+#X obj 363 49 sel 0 1;
+#X obj 364 96 line;
+#X obj 365 24 inlet;
+#X obj 625 146 sin;
+#X obj 587 145 cos;
+#X obj 586 219 pack f f 0;
+#X obj 591 121 t f f;
+#X obj 589 52 sel 0 1;
+#X obj 590 99 line;
+#X obj 591 27 inlet;
+#X obj 588 170 * -0.8;
+#X obj 626 169 * -0.8;
+#X msg 362 70 -0.6 50;
+#X msg 419 71 0.3 50;
+#X msg 588 73 0.6 50;
+#X msg 644 74 -0.3 50;
+#X obj 627 194 - 2.5;
+#X obj 588 192 + 1;
+#X msg 380 274 -1.3 -2.5 0;
+#X msg 605 280 1.3 -2.5 0;
+#X msg 434 387 setX1 \$1;
+#X msg 442 412 setY1 \$1;
+#X msg 265 319 setX2 \$1;
+#X msg 285 344 setY2 \$1;
+#X obj 40 387 iSeg2D mass -1.3 -2.5 0 0 0.4 0 0 1 0.5 0.5;
+#X obj 26 441 iSeg2D mass 0 0 1.3 -2.5 0.4 0 0 1 0.5 0.5;
+#X connect 0 0 38 0;
+#X connect 0 0 39 0;
+#X connect 2 0 1 0;
+#X connect 3 0 32 0;
+#X connect 3 0 33 0;
+#X connect 5 0 4 0;
+#X connect 6 0 8 0;
+#X connect 7 0 9 0;
+#X connect 8 0 13 0;
+#X connect 9 0 12 0;
+#X connect 10 0 1 1;
+#X connect 11 0 7 0;
+#X connect 11 1 6 0;
+#X connect 12 0 10 0;
+#X connect 12 0 36 0;
+#X connect 13 0 10 1;
+#X connect 13 0 37 0;
+#X connect 14 0 26 0;
+#X connect 14 1 27 0;
+#X connect 15 0 11 0;
+#X connect 16 0 14 0;
+#X connect 17 0 25 0;
+#X connect 18 0 24 0;
+#X connect 19 0 4 1;
+#X connect 20 0 18 0;
+#X connect 20 1 17 0;
+#X connect 21 0 28 0;
+#X connect 21 1 29 0;
+#X connect 22 0 20 0;
+#X connect 23 0 21 0;
+#X connect 24 0 31 0;
+#X connect 25 0 30 0;
+#X connect 26 0 15 0;
+#X connect 27 0 15 0;
+#X connect 28 0 22 0;
+#X connect 29 0 22 0;
+#X connect 30 0 19 1;
+#X connect 30 0 35 0;
+#X connect 31 0 19 0;
+#X connect 31 0 34 0;
+#X connect 32 0 1 2;
+#X connect 33 0 4 2;
+#X connect 34 0 39 0;
+#X connect 35 0 39 0;
+#X connect 36 0 38 0;
+#X connect 37 0 38 0;
+#X restore 36 414 pd curseur;
+#N canvas 401 13 480 352 bords2 0;
+#X obj 10 9 inlet;
+#X obj 78 189 curve 2;
+#X obj 76 125 gemhead;
+#X obj 140 140 loadbang;
+#X obj 237 190 curve 2;
+#X obj 235 126 gemhead;
+#X obj 299 141 loadbang;
+#X msg 105 165 -1.8 4 0;
+#X msg 169 163 -1.8 -1 0;
+#X msg 264 166 1.8 4 0;
+#X msg 327 164 1.8 -1 0;
+#X obj 42 51 iSeg2D mass -1.8 4 -1.8 -1 2 0 0 0.4 0.4 0.5;
+#X obj 42 75 iSeg2D mass 1.8 -1.2 1.8 4 2 0 0 0.4 0.4 0.5;
+#X connect 0 0 11 0;
+#X connect 0 0 12 0;
+#X connect 2 0 1 0;
+#X connect 3 0 7 0;
+#X connect 3 0 8 0;
+#X connect 5 0 4 0;
+#X connect 6 0 9 0;
+#X connect 6 0 10 0;
+#X connect 7 0 1 1;
+#X connect 8 0 1 2;
+#X connect 9 0 4 1;
+#X connect 10 0 4 2;
+#X restore 81 238 pd bords2;
+#X obj 42 346 gemmouse;
+#N canvas 399 45 480 347 top 0;
+#X obj 10 9 inlet;
+#X obj 78 189 curve 2;
+#X obj 76 125 gemhead;
+#X obj 140 140 loadbang;
+#X msg 105 165 4 3.5 0;
+#X msg 169 163 -4 3.5 0;
+#X obj 16 47 iSeg2D mass 4 3.5 -4 3.5 2 0 0 0.4 0.4 0.4;
+#X connect 0 0 6 0;
+#X connect 2 0 1 0;
+#X connect 3 0 4 0;
+#X connect 3 0 5 0;
+#X connect 4 0 1 1;
+#X connect 5 0 1 2;
+#X restore 81 263 pd top;
+#N canvas 893 368 484 356 circle 0;
+#X obj 23 15 inlet;
+#X obj 25 177 gemhead;
+#X obj 25 201 translateXYZ 0 2.5 0;
+#X obj 26 225 sphere 0.3;
+#X obj 156 178 gemhead;
+#X obj 157 226 sphere 0.3;
+#X obj 287 179 gemhead;
+#X obj 288 227 sphere 0.3;
+#X obj 156 202 translateXYZ 1 1.5 0;
+#X obj 287 203 translateXYZ -1 1.5 0;
+#X obj 36 51 iCircle2D mass 0 2.5 0 0.3 1;
+#X obj 36 75 iCircle2D mass 1 1.5 0 0.3 1;
+#X obj 37 97 iCircle2D mass -1 1.5 0 0.3 1;
+#X connect 0 0 10 0;
+#X connect 0 0 11 0;
+#X connect 0 0 12 0;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 4 0 8 0;
+#X connect 6 0 9 0;
+#X connect 8 0 5 0;
+#X connect 9 0 7 0;
+#X restore 80 192 pd circle;
+#X obj 470 279 mass2D mass 10 1.5 3.4;
+#X msg 74 487 \; mass reset \;;
+#X obj 103 320 loadbang;
+#X msg 103 344 0;
+#X obj 80 170 iAmbient2D mass 0 -0.001 0 0 0.003;
+#X text 357 34 click on the GEM windows with right and left click.
+;
+#X text 359 50 middle click to reset the game;
+#X obj 181 258 keyname;
+#X msg 218 308 1;
+#X msg 261 307 0;
+#X obj 181 338 spigot;
+#X obj 292 257 keyname;
+#X msg 329 307 1;
+#X msg 378 306 0;
+#X obj 292 337 spigot;
+#X obj 218 283 sel Left;
+#X obj 329 283 sel Right;
+#X obj 88 441 key;
+#X obj 88 462 sel 32;
+#X text 356 80 If you don't have a 3 button mouse \, you can use left
+\, right key \, and space for resetting the game.;
+#X text 403 128 <- this is better \, but seem to crash somes computers
+;
+#X msg 173 82 reset \, create \, 1;
+#X text 284 82 <- 1;
+#X text 36 42 <- 2;
+#X obj 173 151 gemwin 50;
+#X connect 0 0 5 0;
+#X connect 0 1 12 0;
+#X connect 0 1 13 0;
+#X connect 0 1 14 0;
+#X connect 0 1 16 0;
+#X connect 0 1 22 0;
+#X connect 0 1 17 0;
+#X connect 1 0 9 0;
+#X connect 2 0 3 0;
+#X connect 3 0 5 0;
+#X connect 4 0 42 0;
+#X connect 6 0 7 0;
+#X connect 7 0 10 0;
+#X connect 8 1 7 1;
+#X connect 8 2 7 2;
+#X connect 9 0 0 0;
+#X connect 11 0 42 0;
+#X connect 15 2 13 1;
+#X connect 15 3 19 0;
+#X connect 15 4 13 2;
+#X connect 18 0 8 0;
+#X connect 20 0 21 0;
+#X connect 21 0 13 2;
+#X connect 21 0 13 1;
+#X connect 25 0 28 0;
+#X connect 25 1 33 0;
+#X connect 26 0 28 1;
+#X connect 27 0 28 1;
+#X connect 28 0 13 1;
+#X connect 29 0 32 0;
+#X connect 29 1 34 0;
+#X connect 30 0 32 1;
+#X connect 31 0 32 1;
+#X connect 32 0 13 2;
+#X connect 33 0 26 0;
+#X connect 33 1 27 0;
+#X connect 34 0 30 0;
+#X connect 34 1 31 0;
+#X connect 35 0 36 0;
+#X connect 36 0 19 0;
+#X connect 39 0 42 0;
diff --git a/examples/19_vertex.pd b/examples/19_vertex.pd
new file mode 100644
index 0000000..50078fe
--- /dev/null
+++ b/examples/19_vertex.pd
@@ -0,0 +1,107 @@
+#N canvas 155 178 513 340 10;
+#X obj 17 248 t b b;
+#X obj 17 150 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 106 207 loadbang;
+#X msg 233 196 0 \, destroy;
+#X obj 199 224 gemwin;
+#X msg 199 171 reset \, create \, 1;
+#X obj 17 304 s mass;
+#X obj 106 253 s reset_mass;
+#X msg 106 229 bang;
+#N canvas 717 329 472 322 pool 0;
+#X obj 106 103 fluide_mass2 19;
+#X obj 186 183 fluide_mass2 27;
+#X obj 166 163 fluide_mass2 25;
+#X obj 16 13 fluide_mass2 10;
+#X obj 26 23 fluide_mass2 11;
+#X obj 36 33 fluide_mass2 12;
+#X obj 46 43 fluide_mass2 13;
+#X obj 56 53 fluide_mass2 14;
+#X obj 66 63 fluide_mass2 15;
+#X obj 76 73 fluide_mass2 16;
+#X obj 86 83 fluide_mass2 17;
+#X obj 96 93 fluide_mass2 18;
+#X obj 116 113 fluide_mass2 20;
+#X obj 126 123 fluide_mass2 21;
+#X obj 136 133 fluide_mass2 22;
+#X obj 146 143 fluide_mass2 23;
+#X obj 156 153 fluide_mass2 24;
+#X obj 176 173 fluide_mass2 26;
+#X obj 196 193 fluide_mass2 28;
+#X obj 206 203 fluide_mass2 29;
+#X obj 216 213 fluide_mass2 30;
+#X obj 226 223 fluide_mass2 31;
+#X obj 236 233 fluide_mass2 32;
+#X obj 246 243 fluide_mass2 33;
+#X obj 256 253 fluide_mass2 34;
+#X obj 266 263 fluide_mass2 35;
+#X obj 276 273 fluide_mass2 36;
+#X obj 286 283 fluide_mass2 37;
+#X obj 296 293 fluide_mass2 38;
+#X obj 306 303 fluide_mass2 39;
+#X obj 316 313 fluide_mass2 40;
+#X obj 326 323 fluide_mass2 41;
+#X obj 336 333 fluide_mass2 42;
+#X obj 346 343 fluide_mass2 43;
+#X obj 356 353 fluide_mass2 44;
+#X obj 366 363 fluide_mass2 45;
+#X obj 376 373 fluide_mass2 46;
+#X obj 386 383 fluide_mass2 47;
+#X obj 396 393 fluide_mass2 48;
+#X obj 406 403 fluide_mass2 49;
+#X obj 416 413 fluide_mass2 50;
+#X restore 355 201 pd pool;
+#N canvas 860 482 340 441 creation 0;
+#X obj 43 318 s pd-new;
+#X msg 87 95 \; pd filename new ./ \; #N canvas \; #X pop 1 \;;
+#X msg 43 289 menuclose;
+#X obj 76 237 pack f f f;
+#X obj 43 47 sel 0 1;
+#X obj 44 29 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 61 72 t b b;
+#X obj 76 186 t f f f;
+#X msg 76 265 obj \$1 \$2 fluide_mass2 \$3;
+#X obj 103 210 * 10;
+#X obj 76 210 * 10;
+#X obj 61 163 ch_uzi 60;
+#X text 30 373 used to create the collection of object;
+#X connect 2 0 0 0;
+#X connect 3 0 8 0;
+#X connect 4 0 2 0;
+#X connect 4 1 6 0;
+#X connect 5 0 4 0;
+#X connect 6 0 11 0;
+#X connect 6 1 1 0;
+#X connect 7 0 10 0;
+#X connect 7 1 9 0;
+#X connect 7 2 3 2;
+#X connect 8 0 0 0;
+#X connect 9 0 3 1;
+#X connect 10 0 3 0;
+#X connect 11 1 7 0;
+#X restore 355 227 pd creation pool;
+#X text 15 65 this exemple got 250 masss \, so it nead more CPU than
+before.;
+#X msg 60 176 20;
+#X floatatom 60 199 5 0 0 0 - - -;
+#X text 15 102 if you've got a slow computer \, you can slow down the
+computation speed by changing the metronome frequency.;
+#X text 44 149 <- begin;
+#X text 176 5 Fuids mecanics;
+#X text 85 31 Masses have no weight \, they are in a displacement field
+\, corresponding to a vertex.;
+#X obj 42 279 iCircle2D mass 0 0 0 5 0 0 0 0 0 0 0 0 0 0.0005;
+#X obj 17 221 metro 20;
+#X text 309 170 <- 1;
+#X connect 0 0 6 0;
+#X connect 0 1 18 0;
+#X connect 1 0 19 0;
+#X connect 2 0 8 0;
+#X connect 3 0 4 0;
+#X connect 5 0 4 0;
+#X connect 8 0 7 0;
+#X connect 12 0 13 0;
+#X connect 13 0 19 1;
+#X connect 19 0 0 0;
diff --git a/examples/20_moving_vertex.pd b/examples/20_moving_vertex.pd
new file mode 100644
index 0000000..ab1fb0f
--- /dev/null
+++ b/examples/20_moving_vertex.pd
@@ -0,0 +1,117 @@
+#N canvas 546 89 548 542 10;
+#X obj 16 222 t b b;
+#X obj 16 151 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 105 179 loadbang;
+#X msg 250 200 0 \, destroy;
+#X obj 216 228 gemwin;
+#X msg 216 175 reset \, create \, 1;
+#X obj 16 486 s mass;
+#X obj 105 227 s reset_mass;
+#X msg 105 203 bang;
+#X obj 16 195 metro 5;
+#N canvas 860 482 416 441 creation 0;
+#X obj 40 362 s pd-new;
+#X msg 95 95 \; pd filename new ./ \; #N canvas \; #X pop 1 \;;
+#X msg 45 333 menuclose;
+#X obj 85 286 pack f f f;
+#X obj 43 47 sel 0 1;
+#X obj 44 29 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 69 72 t b b;
+#X obj 85 235 t f f f;
+#X msg 83 314 obj \$1 \$2 fluide_mass2 \$3;
+#X obj 112 261 * 10;
+#X obj 85 259 * 10;
+#X obj 89 188 * 2;
+#X obj 73 163 ch_uzi 30;
+#X connect 2 0 0 0;
+#X connect 3 0 8 0;
+#X connect 4 0 2 0;
+#X connect 4 1 6 0;
+#X connect 5 0 4 0;
+#X connect 6 0 12 0;
+#X connect 6 1 1 0;
+#X connect 7 0 10 0;
+#X connect 7 1 9 0;
+#X connect 7 2 3 2;
+#X connect 8 0 0 0;
+#X connect 9 0 3 1;
+#X connect 10 0 3 0;
+#X connect 11 0 7 0;
+#X connect 12 1 11 0;
+#X restore 345 264 pd creation pool;
+#X obj 133 305 t b b;
+#X obj 194 287 r reset_mass;
+#X msg 194 308 reset;
+#X obj 269 346 link foo 0 1;
+#X obj 133 386 / 50;
+#X text 177 373 X position of the center of the vertex.;
+#X floatatom 178 390 5 0 0 0 - - -;
+#X text 157 17 same as previus exemple but with a moving vertex (Y)
+;
+#X obj 133 470 iCircle2D mass 0 0 0 5 0 0 0 0 -1e-006 0.0001;
+#X msg 133 443 setX \$1;
+#X obj 133 346 mass foo 100000 99;
+#N canvas 0 0 464 314 pool 0;
+#X obj 0 0 fluide_mass2 0;
+#X obj 20 20 fluide_mass2 2;
+#X obj 40 40 fluide_mass2 4;
+#X obj 60 60 fluide_mass2 6;
+#X obj 80 80 fluide_mass2 8;
+#X obj 100 100 fluide_mass2 10;
+#X obj 120 120 fluide_mass2 12;
+#X obj 140 140 fluide_mass2 14;
+#X obj 160 160 fluide_mass2 16;
+#X obj 180 180 fluide_mass2 18;
+#X obj 200 200 fluide_mass2 20;
+#X obj 220 220 fluide_mass2 22;
+#X obj 240 240 fluide_mass2 24;
+#X obj 260 260 fluide_mass2 26;
+#X obj 280 280 fluide_mass2 28;
+#X obj 300 300 fluide_mass2 30;
+#X obj 320 320 fluide_mass2 32;
+#X obj 340 340 fluide_mass2 34;
+#X obj 360 360 fluide_mass2 36;
+#X obj 380 380 fluide_mass2 38;
+#X obj 400 400 fluide_mass2 40;
+#X obj 420 420 fluide_mass2 42;
+#X obj 440 440 fluide_mass2 44;
+#X obj 460 460 fluide_mass2 46;
+#X obj 480 480 fluide_mass2 48;
+#X obj 500 500 fluide_mass2 50;
+#X obj 520 520 fluide_mass2 52;
+#X obj 540 540 fluide_mass2 54;
+#X obj 560 560 fluide_mass2 56;
+#X obj 580 580 fluide_mass2 58;
+#X restore 345 238 pd pool;
+#X text 96 41 The vertex goes from right / left with sinusoidal variations.
+the mouvement comes frome a single mass/link structure \, as seen before.
+;
+#X text 97 92 if you've got a slow computer \, you can slow down the
+computation speed by changing the metronome frequency.;
+#X floatatom 53 174 5 0 0 0 - - -;
+#X text 40 150 <- begin;
+#X obj 41 418 iAmbient2D mass 0 0 0 0 1;
+#X text 330 175 <- 1;
+#X connect 0 0 6 0;
+#X connect 0 1 19 0;
+#X connect 0 1 27 0;
+#X connect 1 0 9 0;
+#X connect 2 0 8 0;
+#X connect 3 0 4 0;
+#X connect 5 0 4 0;
+#X connect 8 0 7 0;
+#X connect 9 0 0 0;
+#X connect 9 0 11 0;
+#X connect 11 0 21 0;
+#X connect 11 1 14 0;
+#X connect 12 0 13 0;
+#X connect 13 0 21 0;
+#X connect 14 0 21 0;
+#X connect 15 0 20 0;
+#X connect 20 0 19 0;
+#X connect 21 0 14 0;
+#X connect 21 0 15 0;
+#X connect 21 0 17 0;
+#X connect 25 0 9 1;
diff --git a/examples/21_fluid_circulation_cylinder.pd b/examples/21_fluid_circulation_cylinder.pd
new file mode 100644
index 0000000..1c5e8b8
--- /dev/null
+++ b/examples/21_fluid_circulation_cylinder.pd
@@ -0,0 +1,199 @@
+#N canvas 95 190 751 371 10;
+#X obj 23 167 t b b;
+#X obj 23 59 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 483 150 loadbang;
+#X msg 153 132 0 \, destroy;
+#X obj 119 160 gemwin;
+#X msg 119 107 reset \, create \, 1;
+#X obj 23 205 s mass;
+#X obj 345 126 gemhead;
+#N canvas 19 7 1256 797 pool 0;
+#X obj 0 0 fluide_mass6 -6 -0.958333;
+#X obj 240 0 fluide_mass6 -5.71429 -0.958333;
+#X obj 480 0 fluide_mass6 -5.42857 -0.958333;
+#X obj 720 0 fluide_mass6 -5.14286 -0.958333;
+#X obj 960 0 fluide_mass6 -4.85714 -0.958333;
+#X obj 0 30 fluide_mass6 -6 -0.875;
+#X obj 240 30 fluide_mass6 -5.71429 -0.875;
+#X obj 480 30 fluide_mass6 -5.42857 -0.875;
+#X obj 720 30 fluide_mass6 -5.14286 -0.875;
+#X obj 960 30 fluide_mass6 -4.85714 -0.875;
+#X obj 0 60 fluide_mass6 -6 -0.791667;
+#X obj 240 60 fluide_mass6 -5.71429 -0.791667;
+#X obj 480 60 fluide_mass6 -5.42857 -0.791667;
+#X obj 720 60 fluide_mass6 -5.14286 -0.791667;
+#X obj 960 60 fluide_mass6 -4.85714 -0.791667;
+#X obj 0 90 fluide_mass6 -6 -0.708333;
+#X obj 240 90 fluide_mass6 -5.71429 -0.708333;
+#X obj 480 90 fluide_mass6 -5.42857 -0.708333;
+#X obj 720 90 fluide_mass6 -5.14286 -0.708333;
+#X obj 960 90 fluide_mass6 -4.85714 -0.708333;
+#X obj 0 120 fluide_mass6 -6 -0.625;
+#X obj 240 120 fluide_mass6 -5.71429 -0.625;
+#X obj 480 120 fluide_mass6 -5.42857 -0.625;
+#X obj 720 120 fluide_mass6 -5.14286 -0.625;
+#X obj 960 120 fluide_mass6 -4.85714 -0.625;
+#X obj 0 150 fluide_mass6 -6 -0.541667;
+#X obj 240 150 fluide_mass6 -5.71429 -0.541667;
+#X obj 480 150 fluide_mass6 -5.42857 -0.541667;
+#X obj 720 150 fluide_mass6 -5.14286 -0.541667;
+#X obj 960 150 fluide_mass6 -4.85714 -0.541667;
+#X obj 0 180 fluide_mass6 -6 -0.458333;
+#X obj 240 180 fluide_mass6 -5.71429 -0.458333;
+#X obj 480 180 fluide_mass6 -5.42857 -0.458333;
+#X obj 720 180 fluide_mass6 -5.14286 -0.458333;
+#X obj 960 180 fluide_mass6 -4.85714 -0.458333;
+#X obj 0 210 fluide_mass6 -6 -0.375;
+#X obj 240 210 fluide_mass6 -5.71429 -0.375;
+#X obj 480 210 fluide_mass6 -5.42857 -0.375;
+#X obj 720 210 fluide_mass6 -5.14286 -0.375;
+#X obj 960 210 fluide_mass6 -4.85714 -0.375;
+#X obj 0 240 fluide_mass6 -6 -0.291667;
+#X obj 240 240 fluide_mass6 -5.71429 -0.291667;
+#X obj 480 240 fluide_mass6 -5.42857 -0.291667;
+#X obj 720 240 fluide_mass6 -5.14286 -0.291667;
+#X obj 960 240 fluide_mass6 -4.85714 -0.291667;
+#X obj 0 270 fluide_mass6 -6 -0.208333;
+#X obj 240 270 fluide_mass6 -5.71429 -0.208333;
+#X obj 480 270 fluide_mass6 -5.42857 -0.208333;
+#X obj 720 270 fluide_mass6 -5.14286 -0.208333;
+#X obj 960 270 fluide_mass6 -4.85714 -0.208333;
+#X obj 0 300 fluide_mass6 -6 -0.125;
+#X obj 240 300 fluide_mass6 -5.71429 -0.125;
+#X obj 480 300 fluide_mass6 -5.42857 -0.125;
+#X obj 720 300 fluide_mass6 -5.14286 -0.125;
+#X obj 960 300 fluide_mass6 -4.85714 -0.125;
+#X obj 0 330 fluide_mass6 -6 -0.0416667;
+#X obj 240 330 fluide_mass6 -5.71429 -0.0416667;
+#X obj 480 330 fluide_mass6 -5.42857 -0.0416667;
+#X obj 720 330 fluide_mass6 -5.14286 -0.0416667;
+#X obj 960 330 fluide_mass6 -4.85714 -0.0416667;
+#X obj 0 360 fluide_mass6 -6 0.0416667;
+#X obj 240 360 fluide_mass6 -5.71429 0.0416667;
+#X obj 480 360 fluide_mass6 -5.42857 0.0416667;
+#X obj 720 360 fluide_mass6 -5.14286 0.0416667;
+#X obj 960 360 fluide_mass6 -4.85714 0.0416667;
+#X obj 0 390 fluide_mass6 -6 0.125;
+#X obj 240 390 fluide_mass6 -5.71429 0.125;
+#X obj 480 390 fluide_mass6 -5.42857 0.125;
+#X obj 720 390 fluide_mass6 -5.14286 0.125;
+#X obj 960 390 fluide_mass6 -4.85714 0.125;
+#X obj 0 420 fluide_mass6 -6 0.208333;
+#X obj 240 420 fluide_mass6 -5.71429 0.208333;
+#X obj 480 420 fluide_mass6 -5.42857 0.208333;
+#X obj 720 420 fluide_mass6 -5.14286 0.208333;
+#X obj 960 420 fluide_mass6 -4.85714 0.208333;
+#X obj 0 450 fluide_mass6 -6 0.291667;
+#X obj 240 450 fluide_mass6 -5.71429 0.291667;
+#X obj 480 450 fluide_mass6 -5.42857 0.291667;
+#X obj 720 450 fluide_mass6 -5.14286 0.291667;
+#X obj 960 450 fluide_mass6 -4.85714 0.291667;
+#X obj 0 480 fluide_mass6 -6 0.375;
+#X obj 240 480 fluide_mass6 -5.71429 0.375;
+#X obj 480 480 fluide_mass6 -5.42857 0.375;
+#X obj 720 480 fluide_mass6 -5.14286 0.375;
+#X obj 960 480 fluide_mass6 -4.85714 0.375;
+#X obj 0 510 fluide_mass6 -6 0.458333;
+#X obj 240 510 fluide_mass6 -5.71429 0.458333;
+#X obj 480 510 fluide_mass6 -5.42857 0.458333;
+#X obj 720 510 fluide_mass6 -5.14286 0.458333;
+#X obj 960 510 fluide_mass6 -4.85714 0.458333;
+#X obj 0 540 fluide_mass6 -6 0.541667;
+#X obj 240 540 fluide_mass6 -5.71429 0.541667;
+#X obj 480 540 fluide_mass6 -5.42857 0.541667;
+#X obj 720 540 fluide_mass6 -5.14286 0.541667;
+#X obj 960 540 fluide_mass6 -4.85714 0.541667;
+#X obj 0 570 fluide_mass6 -6 0.625;
+#X obj 240 570 fluide_mass6 -5.71429 0.625;
+#X obj 480 570 fluide_mass6 -5.42857 0.625;
+#X obj 720 570 fluide_mass6 -5.14286 0.625;
+#X obj 960 570 fluide_mass6 -4.85714 0.625;
+#X obj 0 600 fluide_mass6 -6 0.708333;
+#X obj 240 600 fluide_mass6 -5.71429 0.708333;
+#X obj 480 600 fluide_mass6 -5.42857 0.708333;
+#X obj 720 600 fluide_mass6 -5.14286 0.708333;
+#X obj 960 600 fluide_mass6 -4.85714 0.708333;
+#X obj 0 630 fluide_mass6 -6 0.791667;
+#X obj 240 630 fluide_mass6 -5.71429 0.791667;
+#X obj 480 630 fluide_mass6 -5.42857 0.791667;
+#X obj 720 630 fluide_mass6 -5.14286 0.791667;
+#X obj 960 630 fluide_mass6 -4.85714 0.791667;
+#X obj 0 660 fluide_mass6 -6 0.875;
+#X obj 240 660 fluide_mass6 -5.71429 0.875;
+#X obj 480 660 fluide_mass6 -5.42857 0.875;
+#X obj 720 660 fluide_mass6 -5.14286 0.875;
+#X obj 960 660 fluide_mass6 -4.85714 0.875;
+#X restore 344 180 pd pool;
+#N canvas 696 98 351 591 creation 0;
+#X obj 41 491 s pd-new;
+#X msg 95 95 \; pd filename new ./ \; #N canvas \; #X pop 1 \;;
+#X msg 40 464 menuclose;
+#X obj 40 47 sel 0 1;
+#X obj 40 29 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 69 72 t b b;
+#X obj 97 412 pack f f f f;
+#X obj 89 191 t b f f;
+#X obj 100 299 t f f;
+#X obj 107 219 * 30;
+#X obj 99 377 * 120;
+#X obj 126 328 / 7;
+#X obj 127 351 - 6;
+#X obj 163 346 - 11.5;
+#X msg 95 440 obj \$1 \$2 fluide_mass6 \$3 \$4;
+#X obj 101 275 * 2;
+#X obj 160 370 / 12;
+#X obj 69 163 ch_uzi 23;
+#X obj 88 247 ch_uzi 5;
+#X connect 2 0 0 0;
+#X connect 3 0 2 0;
+#X connect 3 1 5 0;
+#X connect 4 0 3 0;
+#X connect 5 0 17 0;
+#X connect 5 1 1 0;
+#X connect 6 0 14 0;
+#X connect 7 0 18 0;
+#X connect 7 1 9 0;
+#X connect 7 1 13 0;
+#X connect 8 0 10 0;
+#X connect 8 1 11 0;
+#X connect 9 0 6 1;
+#X connect 10 0 6 0;
+#X connect 11 0 12 0;
+#X connect 12 0 6 2;
+#X connect 13 0 16 0;
+#X connect 14 0 0 0;
+#X connect 15 0 8 0;
+#X connect 16 0 6 3;
+#X connect 17 1 7 0;
+#X connect 18 1 15 0;
+#X restore 344 202 pd creation pool;
+#X msg 483 174 reset;
+#X obj 483 198 s mass;
+#X obj 345 149 sphere 0.5;
+#X obj 23 140 metro 10;
+#X obj 73 289 iCircle2D mass 0.1 0 0 10 0 0 0 0 0 0 0 0 -0.02 0;
+#X obj 58 268 iCircle2D mass -0.1 0 0 10 0 0 0 0 0 0 0 0 0.02 0;
+#X text 47 58 <- begin (change the metro speed for slow computer);
+#X floatatom 66 111 5 0 0 0 - - -;
+#X text 123 11 simulation of no weight particules in a no viscus fluid
+flow around a cylinder;
+#X text 390 248 <- left to right displacement field;
+#X text 390 279 <- this mouvement creation correspond to the simulation
+of the cylinder;
+#X obj 49 247 iAmbient2D mass 0 0 0 0 0 -1000 1000 -1000 1000 0.01
+0;
+#X text 233 108 <-1;
+#X connect 0 0 6 0;
+#X connect 0 1 14 0;
+#X connect 0 1 15 0;
+#X connect 0 1 21 0;
+#X connect 1 0 13 0;
+#X connect 2 0 10 0;
+#X connect 3 0 4 0;
+#X connect 5 0 4 0;
+#X connect 7 0 12 0;
+#X connect 10 0 11 0;
+#X connect 13 0 0 0;
+#X connect 17 0 13 1;
diff --git a/examples/22_gaz_molecules.pd b/examples/22_gaz_molecules.pd
new file mode 100644
index 0000000..cf40a3e
--- /dev/null
+++ b/examples/22_gaz_molecules.pd
@@ -0,0 +1,204 @@
+#N canvas 131 77 652 468 10;
+#X obj 27 199 t b b;
+#X obj 27 121 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 116 203 loadbang;
+#X msg 245 217 0 \, destroy;
+#X obj 211 245 gemwin;
+#X msg 211 192 reset \, create \, 1;
+#X obj 27 436 s mass;
+#X obj 127 270 s reset_mass;
+#X msg 116 246 bang;
+#X text 358 302 <- give random speed when starting the patch;
+#X text 358 326 <- right border;
+#X text 359 348 <- left border;
+#X text 359 370 <- top border;
+#X text 359 392 <- bottom border;
+#N canvas 398 169 696 677 pool 0;
+#X msg 32 388 setXY \$1 \$2;
+#X obj 32 241 loadbang;
+#X obj 32 363 pack f f;
+#X obj 32 265 t b b;
+#X obj 53 465 gemhead;
+#X obj 53 488 translateXYZ;
+#X obj 42 438 unpack s f f;
+#X obj 139 243 r reset_mass;
+#X msg 32 574 setX \$1 \, setY \$2;
+#X obj 32 289 random 20;
+#X obj 32 335 / 4;
+#X obj 98 288 random 20;
+#X obj 98 334 / 4;
+#X obj 32 312 - 10;
+#X obj 98 310 - 10;
+#X obj 8 551 r link;
+#X obj 32 414 mass2D mass 100;
+#X obj 53 531 sphere 0.1;
+#X obj 33 598 iCircle2D mass 0 0 0.0001 0.3 0 0 1;
+#X obj 53 509 color 1 0 0;
+#X obj 303 303 fluide_mass5 29;
+#X obj 313 313 fluide_mass5 30;
+#X obj 203 203 fluide_mass5 19;
+#X obj 513 513 fluide_mass5 50;
+#X obj 443 443 fluide_mass5 43;
+#X obj 403 403 fluide_mass5 39;
+#X obj 193 193 fluide_mass5 18;
+#X obj 233 233 fluide_mass5 22;
+#X obj 93 93 fluide_mass5 8;
+#X obj 13 13 fluide_mass5 0;
+#X obj 183 183 fluide_mass5 17;
+#X obj 173 173 fluide_mass5 16;
+#X obj 23 23 fluide_mass5 1;
+#X obj 33 33 fluide_mass5 2;
+#X obj 43 43 fluide_mass5 3;
+#X obj 53 53 fluide_mass5 4;
+#X obj 63 63 fluide_mass5 5;
+#X obj 73 73 fluide_mass5 6;
+#X obj 83 83 fluide_mass5 7;
+#X obj 103 103 fluide_mass5 9;
+#X obj 113 113 fluide_mass5 10;
+#X obj 123 123 fluide_mass5 11;
+#X obj 133 133 fluide_mass5 12;
+#X obj 143 143 fluide_mass5 13;
+#X obj 153 153 fluide_mass5 14;
+#X obj 163 163 fluide_mass5 15;
+#X obj 213 213 fluide_mass5 20;
+#X obj 223 223 fluide_mass5 21;
+#X obj 243 243 fluide_mass5 23;
+#X obj 253 253 fluide_mass5 24;
+#X obj 263 263 fluide_mass5 25;
+#X obj 273 273 fluide_mass5 26;
+#X obj 283 283 fluide_mass5 27;
+#X obj 293 293 fluide_mass5 28;
+#X obj 323 323 fluide_mass5 31;
+#X obj 333 333 fluide_mass5 32;
+#X obj 343 343 fluide_mass5 33;
+#X obj 353 353 fluide_mass5 34;
+#X obj 363 363 fluide_mass5 35;
+#X obj 373 373 fluide_mass5 36;
+#X obj 383 383 fluide_mass5 37;
+#X obj 393 393 fluide_mass5 38;
+#X obj 413 413 fluide_mass5 40;
+#X obj 423 423 fluide_mass5 41;
+#X obj 433 433 fluide_mass5 42;
+#X obj 453 453 fluide_mass5 44;
+#X obj 463 463 fluide_mass5 45;
+#X obj 473 473 fluide_mass5 46;
+#X obj 483 483 fluide_mass5 47;
+#X obj 493 493 fluide_mass5 48;
+#X obj 503 503 fluide_mass5 49;
+#X obj 202 424 unpack s f f f;
+#X obj 324 533 osc~;
+#X obj 324 508 mtof;
+#X obj 324 425 loadbang;
+#X obj 282 597 *~;
+#X obj 281 533 line~;
+#X obj 282 627 dac~;
+#X obj 281 483 *;
+#X obj 324 452 random 60;
+#X msg 281 508 \$1 5;
+#X obj 281 452 * 1;
+#X obj 324 483 + 20;
+#X connect 0 0 16 0;
+#X connect 1 0 3 0;
+#X connect 2 0 0 0;
+#X connect 3 0 9 0;
+#X connect 3 1 11 0;
+#X connect 4 0 5 0;
+#X connect 5 0 19 0;
+#X connect 6 1 5 1;
+#X connect 6 2 5 2;
+#X connect 7 0 3 0;
+#X connect 8 0 18 0;
+#X connect 9 0 13 0;
+#X connect 10 0 2 0;
+#X connect 11 0 14 0;
+#X connect 12 0 2 1;
+#X connect 13 0 10 0;
+#X connect 14 0 12 0;
+#X connect 15 0 18 0;
+#X connect 16 0 6 0;
+#X connect 16 0 8 0;
+#X connect 16 2 71 0;
+#X connect 19 0 17 0;
+#X connect 71 3 81 0;
+#X connect 72 0 75 1;
+#X connect 73 0 72 0;
+#X connect 74 0 79 0;
+#X connect 75 0 77 0;
+#X connect 75 0 77 1;
+#X connect 76 0 75 0;
+#X connect 78 0 80 0;
+#X connect 79 0 82 0;
+#X connect 80 0 76 0;
+#X connect 81 0 78 0;
+#X connect 81 0 78 1;
+#X connect 82 0 73 0;
+#X restore 428 180 pd pool;
+#N canvas 307 126 323 403 creation 0;
+#X obj 38 318 s pd-new;
+#X msg 95 95 \; pd filename new ./ \; #N canvas \; #X pop 1 \;;
+#X msg 43 289 menuclose;
+#X obj 83 242 pack f f f;
+#X obj 43 47 sel 0 1;
+#X obj 44 29 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 69 72 t b b;
+#X obj 83 191 t f f f;
+#X obj 110 217 * 10;
+#X obj 83 215 * 10;
+#X msg 81 270 obj \$1 \$2 fluide_mass5 \$3;
+#X obj 67 163 ch_uzi 50;
+#X connect 2 0 0 0;
+#X connect 3 0 10 0;
+#X connect 4 0 2 0;
+#X connect 4 1 6 0;
+#X connect 5 0 4 0;
+#X connect 6 0 11 0;
+#X connect 6 1 1 0;
+#X connect 7 0 9 0;
+#X connect 7 1 8 0;
+#X connect 7 2 3 2;
+#X connect 8 0 3 1;
+#X connect 9 0 3 0;
+#X connect 10 0 0 0;
+#X connect 11 1 7 0;
+#X restore 427 206 pd creation pool;
+#X obj 74 259 s link;
+#X obj 27 172 metro 5;
+#X obj 116 302 iAmbient2D mass 0 0 1 1;
+#X obj 52 325 iLine2D mass 3.5 -3.5 3.5 3.5 1000 0 0 10;
+#X obj 62 349 iLine2D mass -3.5 3.5 -3.5 -3.5 1000 0 0 10;
+#X obj 77 372 iLine2D mass 3.5 3.5 -3.5 3.5 1000 0 0 10;
+#X obj 88 395 iLine2D mass -3.5 -3.5 3.5 -3.5 1000 0 0 10;
+#X text 238 5 All masss interact each other;
+#X text 59 118 <- begin (change the metro speed for slow computer)
+;
+#X floatatom 64 141 5 0 0 0 - - -;
+#X text 185 25 All masss got a circular interactor around them. so
+each masss can interact with every other;
+#X text 181 62 each time a mass is boncing somwhere \, it emit a sound.
+(each mass got a frequency \, volum is prportional to forces apply
+to the mass). so \, it's a simple additive synthesis.;
+#X obj 119 154 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 119 176 metro 200;
+#X text 182 152 this one is nice to!;
+#X msg 426 234 \; pd dsp 1 \;;
+#X msg 492 234 \; pd dsp 0 \;;
+#X text 324 192 <- 1;
+#X connect 0 0 6 0;
+#X connect 0 1 16 0;
+#X connect 0 1 19 0;
+#X connect 0 1 20 0;
+#X connect 0 1 21 0;
+#X connect 0 1 22 0;
+#X connect 1 0 17 0;
+#X connect 2 0 8 0;
+#X connect 3 0 4 0;
+#X connect 5 0 4 0;
+#X connect 8 0 7 0;
+#X connect 8 0 18 0;
+#X connect 17 0 0 0;
+#X connect 25 0 17 1;
+#X connect 28 0 29 0;
+#X connect 29 0 1 0;
diff --git a/examples/23_test.pd b/examples/23_test.pd
new file mode 100644
index 0000000..e79d81a
--- /dev/null
+++ b/examples/23_test.pd
@@ -0,0 +1,339 @@
+#N canvas 508 106 537 727 10;
+#X obj 17 90 t b b;
+#X obj 17 19 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1
+;
+#X obj 65 85 loadbang;
+#X msg 65 107 reset;
+#X msg 175 128 0 \, destroy;
+#X obj 17 130 s mass;
+#X obj 11 496 gemhead;
+#X obj 11 529 translateXYZ;
+#X obj 8 471 unpack s f f;
+#X obj 17 63 metro 5;
+#X obj 11 558 sphere 0.2;
+#X msg 198 150 reset \, dimen 400 800 \, create \, 1;
+#N canvas 435 26 414 248 bords 0;
+#X obj 10 9 inlet;
+#X obj 39 165 curve 2;
+#X obj 37 101 gemhead;
+#X obj 101 116 loadbang;
+#X obj 198 166 curve 2;
+#X obj 196 102 gemhead;
+#X obj 260 117 loadbang;
+#X msg 66 141 -2 1 0;
+#X msg 225 142 2 1 0;
+#X msg 130 139 -1 -3 0;
+#X msg 289 140 1 -3 0;
+#X obj 18 34 iSeg2D mass -2 1 -1 -3 10 0 0 1 0.3 0.3;
+#X obj 18 58 iSeg2D mass 1 -3 2 1 10 0 0 1 0.3 0.3;
+#X connect 0 0 11 0;
+#X connect 0 0 12 0;
+#X connect 2 0 1 0;
+#X connect 3 0 7 0;
+#X connect 3 0 9 0;
+#X connect 5 0 4 0;
+#X connect 6 0 8 0;
+#X connect 6 0 10 0;
+#X connect 7 0 1 1;
+#X connect 8 0 4 1;
+#X connect 9 0 1 2;
+#X connect 10 0 4 2;
+#X restore 71 237 pd bords;
+#N canvas 585 242 753 499 curseur 0;
+#X obj 23 20 inlet;
+#X obj 343 300 curve 2;
+#X obj 343 247 gemhead;
+#X obj 516 23 loadbang;
+#X obj 568 307 curve 2;
+#X obj 568 257 gemhead;
+#X obj 399 143 sin;
+#X obj 361 142 cos;
+#X obj 400 166 * 0.8;
+#X obj 362 167 * 0.8;
+#X obj 360 216 pack f f 0;
+#X obj 365 118 t f f;
+#X obj 362 189 - 1;
+#X obj 400 190 - 2.5;
+#X obj 363 49 sel 0 1;
+#X obj 364 96 line;
+#X obj 365 24 inlet;
+#X obj 625 146 sin;
+#X obj 587 145 cos;
+#X obj 586 219 pack f f 0;
+#X obj 591 121 t f f;
+#X obj 589 52 sel 0 1;
+#X obj 590 99 line;
+#X obj 591 27 inlet;
+#X obj 588 170 * -0.8;
+#X obj 626 169 * -0.8;
+#X msg 362 70 -0.6 50;
+#X msg 419 71 0.3 50;
+#X msg 588 73 0.6 50;
+#X msg 644 74 -0.3 50;
+#X obj 627 194 - 2.5;
+#X obj 588 192 + 1;
+#X msg 380 274 -1.3 -2.5 0;
+#X msg 605 280 1.3 -2.5 0;
+#X msg 434 387 setX1 \$1;
+#X msg 442 412 setY1 \$1;
+#X msg 265 319 setX2 \$1;
+#X msg 285 344 setY2 \$1;
+#X obj 40 387 iSeg2D mass -1.3 -2.5 0 0 0.4 0 0 1 0.5 0.5;
+#X obj 26 441 iSeg2D mass 0 0 1.3 -2.5 0.4 0 0 1 0.5 0.5;
+#X connect 0 0 38 0;
+#X connect 0 0 39 0;
+#X connect 2 0 1 0;
+#X connect 3 0 32 0;
+#X connect 3 0 33 0;
+#X connect 5 0 4 0;
+#X connect 6 0 8 0;
+#X connect 7 0 9 0;
+#X connect 8 0 13 0;
+#X connect 9 0 12 0;
+#X connect 10 0 1 1;
+#X connect 11 0 7 0;
+#X connect 11 1 6 0;
+#X connect 12 0 10 0;
+#X connect 12 0 36 0;
+#X connect 13 0 10 1;
+#X connect 13 0 37 0;
+#X connect 14 0 26 0;
+#X connect 14 1 27 0;
+#X connect 15 0 11 0;
+#X connect 16 0 14 0;
+#X connect 17 0 25 0;
+#X connect 18 0 24 0;
+#X connect 19 0 4 1;
+#X connect 20 0 18 0;
+#X connect 20 1 17 0;
+#X connect 21 0 28 0;
+#X connect 21 1 29 0;
+#X connect 22 0 20 0;
+#X connect 23 0 21 0;
+#X connect 24 0 31 0;
+#X connect 25 0 30 0;
+#X connect 26 0 15 0;
+#X connect 27 0 15 0;
+#X connect 28 0 22 0;
+#X connect 29 0 22 0;
+#X connect 30 0 19 1;
+#X connect 30 0 35 0;
+#X connect 31 0 19 0;
+#X connect 31 0 34 0;
+#X connect 32 0 1 2;
+#X connect 33 0 4 2;
+#X connect 34 0 39 0;
+#X connect 35 0 39 0;
+#X connect 36 0 38 0;
+#X connect 37 0 38 0;
+#X restore 46 357 pd curseur;
+#N canvas 401 13 480 352 bords2 0;
+#X obj 10 9 inlet;
+#X obj 78 189 curve 2;
+#X obj 76 125 gemhead;
+#X obj 140 140 loadbang;
+#X obj 237 190 curve 2;
+#X obj 235 126 gemhead;
+#X obj 299 141 loadbang;
+#X msg 105 165 -1.8 4 0;
+#X msg 169 163 -1.8 -1 0;
+#X msg 264 166 1.8 4 0;
+#X msg 327 164 1.8 -1 0;
+#X obj 42 51 iSeg2D mass -1.8 4 -1.8 -1 2 0 0 0.4 0.4 0.5;
+#X obj 42 75 iSeg2D mass 1.8 -1.2 1.8 4 2 0 0 0.4 0.4 0.5;
+#X connect 0 0 11 0;
+#X connect 0 0 12 0;
+#X connect 2 0 1 0;
+#X connect 3 0 7 0;
+#X connect 3 0 8 0;
+#X connect 5 0 4 0;
+#X connect 6 0 9 0;
+#X connect 6 0 10 0;
+#X connect 7 0 1 1;
+#X connect 8 0 1 2;
+#X connect 9 0 4 1;
+#X connect 10 0 4 2;
+#X restore 71 261 pd bords2;
+#X obj 54 332 gemmouse;
+#N canvas 399 45 480 347 top 0;
+#X obj 10 9 inlet;
+#X obj 78 189 curve 2;
+#X obj 76 125 gemhead;
+#X obj 140 140 loadbang;
+#X msg 105 165 4 3.5 0;
+#X msg 169 163 -4 3.5 0;
+#X obj 16 47 iSeg2D mass 4 3.5 -4 3.5 2 0 0 0.4 0.4 0.4;
+#X connect 0 0 6 0;
+#X connect 2 0 1 0;
+#X connect 3 0 4 0;
+#X connect 3 0 5 0;
+#X connect 4 0 1 1;
+#X connect 5 0 1 2;
+#X restore 71 284 pd top;
+#N canvas 567 215 490 520 circle 0;
+#X obj 23 15 inlet;
+#X obj 26 323 gemhead;
+#X obj 26 347 translateXYZ 0 2.5 0;
+#X obj 27 428 sphere 0.3;
+#X obj 157 324 gemhead;
+#X obj 158 429 sphere 0.3;
+#X obj 288 325 gemhead;
+#X obj 289 430 sphere 0.3;
+#X obj 157 348 translateXYZ 1 1.5 0;
+#X obj 288 349 translateXYZ -1 1.5 0;
+#X obj 36 51 iCircle2D mass 0 2.5 0 0.3 1;
+#X obj 36 75 iCircle2D mass 1 1.5 0 0.3 1;
+#X obj 37 97 iCircle2D mass -1 1.5 0 0.3 1;
+#X obj 26 372 color 1 1 1;
+#X obj 156 370 color 1 1 1;
+#X obj 287 371 color 1 1 1;
+#X msg 100 280 1 1 1;
+#X msg 85 233 1 0 0;
+#X obj 91 188 r color1;
+#X obj 90 211 sel 1;
+#X obj 100 258 delay 200;
+#X msg 214 282 1 1 1;
+#X msg 199 235 1 0 0;
+#X obj 204 213 sel 1;
+#X obj 214 260 delay 200;
+#X msg 344 271 1 1 1;
+#X msg 329 224 1 0 0;
+#X obj 334 202 sel 1;
+#X obj 344 249 delay 200;
+#X obj 205 190 r color2;
+#X obj 335 179 r color3;
+#X connect 0 0 10 0;
+#X connect 0 0 11 0;
+#X connect 0 0 12 0;
+#X connect 1 0 2 0;
+#X connect 2 0 13 0;
+#X connect 4 0 8 0;
+#X connect 6 0 9 0;
+#X connect 8 0 14 0;
+#X connect 9 0 15 0;
+#X connect 13 0 3 0;
+#X connect 14 0 5 0;
+#X connect 15 0 7 0;
+#X connect 16 0 13 1;
+#X connect 17 0 13 1;
+#X connect 18 0 19 0;
+#X connect 19 0 17 0;
+#X connect 19 0 20 0;
+#X connect 20 0 16 0;
+#X connect 21 0 14 1;
+#X connect 22 0 14 1;
+#X connect 23 0 22 0;
+#X connect 23 0 24 0;
+#X connect 24 0 21 0;
+#X connect 25 0 15 1;
+#X connect 26 0 15 1;
+#X connect 27 0 26 0;
+#X connect 27 0 28 0;
+#X connect 28 0 25 0;
+#X connect 29 0 23 0;
+#X connect 30 0 27 0;
+#X restore 70 215 pd circle;
+#X obj 8 440 mass2D mass 10 1.5 3.4;
+#X msg 128 400 \; mass reset \;;
+#X obj 121 296 loadbang;
+#X msg 121 320 0;
+#X obj 70 193 iAmbient2D mass 0 -0.001 0 0 0.003;
+#X obj 140 496 change;
+#X obj 140 538 change;
+#X obj 139 580 change;
+#X obj 103 649 f;
+#X obj 103 673 + 1;
+#X obj 103 621 sel 1;
+#X floatatom 103 696 5 0 0 0 - - -;
+#X text 153 696 <- score;
+#X obj 185 495 s color1;
+#X obj 185 538 s color2;
+#X obj 187 579 s color3;
+#X msg 69 620 -1;
+#X floatatom 54 40 5 0 0 0 - - -;
+#X text 180 440 Change the color if the mass in in interaction with
+a circle.;
+#X text 244 15 How to use test objects;
+#X text 45 17 <- begin;
+#X obj 252 235 keyname;
+#X msg 289 285 1;
+#X msg 332 284 0;
+#X obj 252 315 spigot;
+#X obj 363 234 keyname;
+#X msg 400 284 1;
+#X msg 449 283 0;
+#X obj 363 314 spigot;
+#X obj 289 260 sel Left;
+#X obj 400 260 sel Right;
+#X obj 127 354 key;
+#X obj 127 375 sel 32;
+#X obj 140 474 tCircle2D 0 2.5 0 0.3;
+#X obj 140 516 tCircle2D 1 1.5 0 0.3;
+#X obj 139 558 tCircle2D -1 1.5 0 0.3;
+#X text 172 34 Test object (tCircle)can test the position of a mass.
+;
+#X text 168 52 this is use to count the score and make some animation
+then the mass is bouncing somewhere;
+#X obj 161 171 gemwin 50;
+#X msg 161 98 reset \, create \, 1;
+#X connect 0 0 5 0;
+#X connect 0 1 12 0;
+#X connect 0 1 13 0;
+#X connect 0 1 14 0;
+#X connect 0 1 16 0;
+#X connect 0 1 22 0;
+#X connect 0 1 17 0;
+#X connect 1 0 9 0;
+#X connect 2 0 3 0;
+#X connect 3 0 5 0;
+#X connect 4 0 56 0;
+#X connect 6 0 7 0;
+#X connect 7 0 10 0;
+#X connect 8 1 7 1;
+#X connect 8 2 7 2;
+#X connect 9 0 0 0;
+#X connect 11 0 56 0;
+#X connect 15 2 13 1;
+#X connect 15 3 19 0;
+#X connect 15 3 34 0;
+#X connect 15 4 13 2;
+#X connect 18 0 8 0;
+#X connect 18 0 51 0;
+#X connect 18 0 52 0;
+#X connect 18 0 53 0;
+#X connect 20 0 21 0;
+#X connect 21 0 13 2;
+#X connect 21 0 13 1;
+#X connect 23 0 28 0;
+#X connect 23 0 31 0;
+#X connect 24 0 28 0;
+#X connect 24 0 32 0;
+#X connect 25 0 28 0;
+#X connect 25 0 33 0;
+#X connect 26 0 27 0;
+#X connect 27 0 26 1;
+#X connect 27 0 29 0;
+#X connect 28 0 26 0;
+#X connect 34 0 26 0;
+#X connect 35 0 9 1;
+#X connect 39 0 42 0;
+#X connect 39 1 47 0;
+#X connect 40 0 42 1;
+#X connect 41 0 42 1;
+#X connect 42 0 13 1;
+#X connect 43 0 46 0;
+#X connect 43 1 48 0;
+#X connect 44 0 46 1;
+#X connect 45 0 46 1;
+#X connect 46 0 13 2;
+#X connect 47 0 40 0;
+#X connect 47 1 41 0;
+#X connect 48 0 44 0;
+#X connect 48 1 45 0;
+#X connect 49 0 50 0;
+#X connect 50 0 19 0;
+#X connect 50 0 34 0;
+#X connect 51 0 23 0;
+#X connect 52 0 24 0;
+#X connect 53 0 25 0;
+#X connect 57 0 56 0;
diff --git a/examples/24_sand.pd b/examples/24_sand.pd
new file mode 100644
index 0000000..14b01d8
--- /dev/null
+++ b/examples/24_sand.pd
@@ -0,0 +1,140 @@
+#N canvas 167 110 527 418 10;
+#X obj 20 164 t b b;
+#X obj 20 98 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X msg 215 187 0 \, destroy;
+#X obj 181 215 gemwin;
+#X obj 20 202 s mass;
+#N canvas 815 340 1100 365 pool 0;
+#X obj 594 157 loadbang;
+#X obj 240 240 sand 1.5 5.4;
+#X obj 240 30 sand -2 5.4;
+#X obj 240 0 sand -2.5 5.4;
+#X obj 720 90 sand -1 6.2;
+#X obj 720 150 sand 0 6.2;
+#X obj 720 30 sand -2 6.2;
+#X obj 480 150 sand 0 5.8;
+#X obj 240 270 sand 2 5.4;
+#X obj 240 150 sand 0 5.4;
+#X obj 240 120 sand -0.5 5.4;
+#X obj 240 180 sand 0.5 5.4;
+#X obj 240 60 sand -1.5 5.4;
+#X obj 240 90 sand -1 5.4;
+#X obj 0 0 sand -2.5 5;
+#X obj 480 0 sand -2.5 5.8;
+#X obj 720 0 sand -2.5 6.2;
+#X obj 960 0 sand -2.5 6.6;
+#X obj 0 30 sand -2 5;
+#X obj 480 30 sand -2 5.8;
+#X obj 960 30 sand -2 6.6;
+#X obj 0 60 sand -1.5 5;
+#X obj 480 60 sand -1.5 5.8;
+#X obj 720 60 sand -1.5 6.2;
+#X obj 960 60 sand -1.5 6.6;
+#X obj 0 90 sand -1 5;
+#X obj 480 90 sand -1 5.8;
+#X obj 960 90 sand -1 6.6;
+#X obj 0 120 sand -0.5 5;
+#X obj 480 120 sand -0.5 5.8;
+#X obj 720 120 sand -0.5 6.2;
+#X obj 960 120 sand -0.5 6.6;
+#X obj 0 150 sand 0 5;
+#X obj 960 150 sand 0 6.6;
+#X obj 0 180 sand 0.5 5;
+#X obj 480 180 sand 0.5 5.8;
+#X obj 720 180 sand 0.5 6.2;
+#X obj 960 180 sand 0.5 6.6;
+#X obj 0 210 sand 1 5;
+#X obj 240 210 sand 1 5.4;
+#X obj 480 210 sand 1 5.8;
+#X obj 720 210 sand 1 6.2;
+#X obj 960 210 sand 1 6.6;
+#X obj 0 240 sand 1.5 5;
+#X obj 480 240 sand 1.5 5.8;
+#X obj 720 240 sand 1.5 6.2;
+#X obj 960 240 sand 1.5 6.6;
+#X obj 0 270 sand 2 5;
+#X obj 480 270 sand 2 5.8;
+#X obj 720 270 sand 2 6.2;
+#X obj 960 270 sand 2 6.6;
+#X connect 0 0 35 0;
+#X restore 358 243 pd pool;
+#N canvas 696 98 355 595 creation 0;
+#X obj 41 491 s pd-new;
+#X msg 95 95 \; pd filename new ./ \; #N canvas \; #X pop 1 \;;
+#X msg 40 464 menuclose;
+#X obj 43 47 sel 0 1;
+#X obj 44 29 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 69 72 t b b;
+#X obj 97 412 pack f f f f;
+#X obj 89 191 t b f f;
+#X obj 100 299 t f f;
+#X obj 107 219 * 30;
+#X obj 99 377 * 120;
+#X obj 101 275 * 2;
+#X obj 163 346 - 5;
+#X obj 160 370 / 2;
+#X obj 126 328 / 5;
+#X msg 96 440 obj \$1 \$2 sand \$3 \$4;
+#X obj 127 351 + 5;
+#X obj 73 163 ch_uzi 10;
+#X obj 88 247 ch_uzi 5;
+#X connect 2 0 0 0;
+#X connect 3 0 2 0;
+#X connect 3 1 5 0;
+#X connect 4 0 3 0;
+#X connect 5 0 17 0;
+#X connect 5 1 1 0;
+#X connect 6 0 15 0;
+#X connect 7 0 18 0;
+#X connect 7 1 9 0;
+#X connect 7 1 12 0;
+#X connect 8 0 10 0;
+#X connect 8 1 14 0;
+#X connect 9 0 6 1;
+#X connect 10 0 6 0;
+#X connect 11 0 8 0;
+#X connect 12 0 13 0;
+#X connect 13 0 6 2;
+#X connect 14 0 16 0;
+#X connect 15 0 0 0;
+#X connect 16 0 6 3;
+#X connect 17 1 7 0;
+#X connect 18 1 11 0;
+#X restore 359 268 pd creation pool;
+#X obj 83 342 s link;
+#X obj 59 299 iCircle2D mass 3 2 0 2.95 0 0 1 0 0 0 0.1;
+#X obj 69 319 iCircle2D mass -3 2 0 2.95 0 0 1 0 0 0 0.1;
+#X text 184 3 sand simulation;
+#X text 69 27 all mass interact each other. They are in a viscuce
+place \, with vertical force (gravity);
+#X text 70 59 2 big circles (invisible) made the masss to go down
+like in a sand glass.;
+#X text 83 369 Masses are not very stable \, due to internal forces
+of the structure.;
+#X text 41 96 <- begin (change metro speed for slow computer);
+#X floatatom 57 116 5 0 0 0 - - -;
+#X msg 181 158 reset \, view 0 0 6 \, create \, 1;
+#X msg 94 178 reset;
+#X obj 78 147 t b b;
+#X msg 75 201 \; reset bang \;;
+#X obj 116 122 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 45 263 iAmbient2D mass 0 -0.0005 0 0 0.03;
+#X obj 20 137 metro 5;
+#X text 366 158 <- 1;
+#X connect 0 0 4 0;
+#X connect 0 1 9 0;
+#X connect 0 1 8 0;
+#X connect 0 1 7 0;
+#X connect 0 1 21 0;
+#X connect 1 0 22 0;
+#X connect 2 0 3 0;
+#X connect 15 0 22 1;
+#X connect 16 0 3 0;
+#X connect 17 0 4 0;
+#X connect 18 0 19 0;
+#X connect 18 1 17 0;
+#X connect 20 0 18 0;
+#X connect 22 0 0 0;
diff --git a/examples/25_sand2.pd b/examples/25_sand2.pd
new file mode 100644
index 0000000..e8627b9
--- /dev/null
+++ b/examples/25_sand2.pd
@@ -0,0 +1,232 @@
+#N canvas 751 247 796 519 10;
+#X obj 28 130 t b b;
+#X obj 23 50 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1
+;
+#X msg 196 149 0 \, destroy;
+#X obj 173 177 gemwin;
+#X obj 23 160 s mass;
+#N canvas 58 556 1250 480 pool 0;
+#X obj 960 210 sand 1 10.6;
+#X obj 240 60 sand -1.5 9.4;
+#X obj 480 30 sand -2 9.8;
+#X obj 480 60 sand -1.5 9.8;
+#X obj 480 90 sand -1 9.8;
+#X obj 720 60 sand -1.5 10.2;
+#X obj 480 180 sand 0.5 9.8;
+#X obj 480 120 sand -0.5 9.8;
+#X obj 480 240 sand 1.5 9.8;
+#X obj 0 0 sand -2.5 9;
+#X obj 240 0 sand -2.5 9.4;
+#X obj 480 0 sand -2.5 9.8;
+#X obj 720 0 sand -2.5 10.2;
+#X obj 960 0 sand -2.5 10.6;
+#X obj 1200 0 sand -2.5 11;
+#X obj 1440 0 sand -2.5 11.4;
+#X obj 1680 0 sand -2.5 11.8;
+#X obj 1920 0 sand -2.5 12.2;
+#X obj 2160 0 sand -2.5 12.6;
+#X obj 2400 0 sand -2.5 13;
+#X obj 2640 0 sand -2.5 13.4;
+#X obj 2880 0 sand -2.5 13.8;
+#X obj 3120 0 sand -2.5 14.2;
+#X obj 3360 0 sand -2.5 14.6;
+#X obj 0 30 sand -2 9;
+#X obj 240 30 sand -2 9.4;
+#X obj 720 30 sand -2 10.2;
+#X obj 960 30 sand -2 10.6;
+#X obj 1200 30 sand -2 11;
+#X obj 1440 30 sand -2 11.4;
+#X obj 1680 30 sand -2 11.8;
+#X obj 1920 30 sand -2 12.2;
+#X obj 2160 30 sand -2 12.6;
+#X obj 2400 30 sand -2 13;
+#X obj 2640 30 sand -2 13.4;
+#X obj 2880 30 sand -2 13.8;
+#X obj 3120 30 sand -2 14.2;
+#X obj 3360 30 sand -2 14.6;
+#X obj 0 60 sand -1.5 9;
+#X obj 960 60 sand -1.5 10.6;
+#X obj 1200 60 sand -1.5 11;
+#X obj 1440 60 sand -1.5 11.4;
+#X obj 1680 60 sand -1.5 11.8;
+#X obj 1920 60 sand -1.5 12.2;
+#X obj 2160 60 sand -1.5 12.6;
+#X obj 2400 60 sand -1.5 13;
+#X obj 2640 60 sand -1.5 13.4;
+#X obj 2880 60 sand -1.5 13.8;
+#X obj 3120 60 sand -1.5 14.2;
+#X obj 3360 60 sand -1.5 14.6;
+#X obj 0 90 sand -1 9;
+#X obj 240 90 sand -1 9.4;
+#X obj 720 90 sand -1 10.2;
+#X obj 960 90 sand -1 10.6;
+#X obj 1200 90 sand -1 11;
+#X obj 1440 90 sand -1 11.4;
+#X obj 1680 90 sand -1 11.8;
+#X obj 1920 90 sand -1 12.2;
+#X obj 2160 90 sand -1 12.6;
+#X obj 2400 90 sand -1 13;
+#X obj 2640 90 sand -1 13.4;
+#X obj 2880 90 sand -1 13.8;
+#X obj 3120 90 sand -1 14.2;
+#X obj 3360 90 sand -1 14.6;
+#X obj 0 120 sand -0.5 9;
+#X obj 240 120 sand -0.5 9.4;
+#X obj 720 120 sand -0.5 10.2;
+#X obj 960 120 sand -0.5 10.6;
+#X obj 1200 120 sand -0.5 11;
+#X obj 1440 120 sand -0.5 11.4;
+#X obj 1680 120 sand -0.5 11.8;
+#X obj 1920 120 sand -0.5 12.2;
+#X obj 2160 120 sand -0.5 12.6;
+#X obj 2400 120 sand -0.5 13;
+#X obj 2640 120 sand -0.5 13.4;
+#X obj 2880 120 sand -0.5 13.8;
+#X obj 3120 120 sand -0.5 14.2;
+#X obj 3360 120 sand -0.5 14.6;
+#X obj 0 150 sand 0 9;
+#X obj 240 150 sand 0 9.4;
+#X obj 480 150 sand 0 9.8;
+#X obj 720 150 sand 0 10.2;
+#X obj 960 150 sand 0 10.6;
+#X obj 1200 150 sand 0 11;
+#X obj 1440 150 sand 0 11.4;
+#X obj 1680 150 sand 0 11.8;
+#X obj 1920 150 sand 0 12.2;
+#X obj 2160 150 sand 0 12.6;
+#X obj 2400 150 sand 0 13;
+#X obj 2640 150 sand 0 13.4;
+#X obj 2880 150 sand 0 13.8;
+#X obj 3120 150 sand 0 14.2;
+#X obj 3360 150 sand 0 14.6;
+#X obj 0 180 sand 0.5 9;
+#X obj 240 180 sand 0.5 9.4;
+#X obj 720 180 sand 0.5 10.2;
+#X obj 960 180 sand 0.5 10.6;
+#X obj 1200 180 sand 0.5 11;
+#X obj 1440 180 sand 0.5 11.4;
+#X obj 1680 180 sand 0.5 11.8;
+#X obj 1920 180 sand 0.5 12.2;
+#X obj 2160 180 sand 0.5 12.6;
+#X obj 2400 180 sand 0.5 13;
+#X obj 2640 180 sand 0.5 13.4;
+#X obj 2880 180 sand 0.5 13.8;
+#X obj 3120 180 sand 0.5 14.2;
+#X obj 3360 180 sand 0.5 14.6;
+#X obj 0 210 sand 1 9;
+#X obj 240 210 sand 1 9.4;
+#X obj 480 210 sand 1 9.8;
+#X obj 720 210 sand 1 10.2;
+#X obj 1200 210 sand 1 11;
+#X obj 1440 210 sand 1 11.4;
+#X obj 1680 210 sand 1 11.8;
+#X obj 1920 210 sand 1 12.2;
+#X obj 2160 210 sand 1 12.6;
+#X obj 2400 210 sand 1 13;
+#X obj 2640 210 sand 1 13.4;
+#X obj 2880 210 sand 1 13.8;
+#X obj 3120 210 sand 1 14.2;
+#X obj 3360 210 sand 1 14.6;
+#X obj 0 240 sand 1.5 9;
+#X obj 240 240 sand 1.5 9.4;
+#X obj 720 240 sand 1.5 10.2;
+#X obj 960 240 sand 1.5 10.6;
+#X obj 1200 240 sand 1.5 11;
+#X obj 1440 240 sand 1.5 11.4;
+#X obj 1680 240 sand 1.5 11.8;
+#X obj 1920 240 sand 1.5 12.2;
+#X obj 2160 240 sand 1.5 12.6;
+#X obj 2400 240 sand 1.5 13;
+#X obj 2640 240 sand 1.5 13.4;
+#X obj 2880 240 sand 1.5 13.8;
+#X obj 3120 240 sand 1.5 14.2;
+#X obj 3360 240 sand 1.5 14.6;
+#X obj 0 270 sand 2 9;
+#X obj 240 270 sand 2 9.4;
+#X obj 480 270 sand 2 9.8;
+#X obj 720 270 sand 2 10.2;
+#X obj 960 270 sand 2 10.6;
+#X obj 1200 270 sand 2 11;
+#X obj 1440 270 sand 2 11.4;
+#X obj 1680 270 sand 2 11.8;
+#X obj 1920 270 sand 2 12.2;
+#X obj 2160 270 sand 2 12.6;
+#X obj 2400 270 sand 2 13;
+#X obj 2640 270 sand 2 13.4;
+#X obj 2880 270 sand 2 13.8;
+#X obj 3120 270 sand 2 14.2;
+#X obj 3360 270 sand 2 14.6;
+#X restore 317 122 pd pool;
+#N canvas 696 98 365 605 creation 0;
+#X obj 41 491 s pd-new;
+#X msg 95 95 \; pd filename new ./ \; #N canvas \; #X pop 1 \;;
+#X msg 40 464 menuclose;
+#X obj 43 47 sel 0 1;
+#X obj 44 29 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 69 72 t b b;
+#X obj 97 412 pack f f f f;
+#X obj 89 191 t b f f;
+#X obj 100 299 t f f;
+#X obj 107 219 * 30;
+#X obj 99 377 * 120;
+#X obj 163 346 - 5;
+#X obj 126 328 / 5;
+#X msg 96 440 obj \$1 \$2 sand \$3 \$4;
+#X obj 101 275 * 2;
+#X obj 127 351 + 5;
+#X obj 160 370 / 4;
+#X obj 73 163 ch_uzi 10;
+#X obj 88 247 ch_uzi 15;
+#X connect 2 0 0 0;
+#X connect 3 0 2 0;
+#X connect 3 1 5 0;
+#X connect 4 0 3 0;
+#X connect 5 0 17 0;
+#X connect 5 1 1 0;
+#X connect 6 0 13 0;
+#X connect 7 0 18 0;
+#X connect 7 1 9 0;
+#X connect 7 1 11 0;
+#X connect 8 0 10 0;
+#X connect 8 1 12 0;
+#X connect 9 0 6 1;
+#X connect 10 0 6 0;
+#X connect 11 0 16 0;
+#X connect 12 0 15 0;
+#X connect 13 0 0 0;
+#X connect 14 0 8 0;
+#X connect 15 0 6 3;
+#X connect 16 0 6 2;
+#X connect 17 1 7 0;
+#X connect 18 1 14 0;
+#X restore 317 147 pd creation pool;
+#X obj 86 343 s link;
+#X text 212 4 sand;
+#X floatatom 66 72 5 0 0 0 - - -;
+#X msg 168 95 reset \, view 0 0 -8 0 0 0 0 1 0 \, create \, 1;
+#X text 125 18 it's the same than previus exemple \, but with more
+masss \, and diferents physical properties so that the global shape
+is diferent.;
+#X obj 61 296 iCircle2D mass 3.1 2 0 3 0 0 1 0 0 0 0.1;
+#X obj 72 320 iCircle2D mass -3.1 2 0 3 0 0 1 0 0 0 0.1;
+#X text 461 94 <- 1;
+#X text 49 47 <- 2;
+#X text 204 62 houagalss;
+#X obj 23 95 metro 3;
+#X obj 110 130 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 108 156 s reset;
+#X obj 43 270 iAmbient2D mass 0 -0.00051 0 0 0.031 -1000 1000 -1000
+1000;
+#X connect 0 0 4 0;
+#X connect 0 1 7 0;
+#X connect 0 1 12 0;
+#X connect 0 1 13 0;
+#X connect 0 1 20 0;
+#X connect 1 0 17 0;
+#X connect 2 0 3 0;
+#X connect 9 0 17 1;
+#X connect 10 0 3 0;
+#X connect 17 0 0 0;
+#X connect 18 0 19 0;
diff --git a/examples/26_sand3.pd b/examples/26_sand3.pd
new file mode 100644
index 0000000..bb5a243
--- /dev/null
+++ b/examples/26_sand3.pd
@@ -0,0 +1,234 @@
+#N canvas 695 527 588 372 10;
+#X obj 19 112 t b b;
+#X obj 19 36 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 137 86 loadbang;
+#X msg 237 138 0 \, destroy;
+#X obj 203 166 gemwin;
+#X obj 19 150 s mass;
+#N canvas 39 357 1226 456 pool 0;
+#X obj 480 120 sand -0.25 5.8;
+#X obj 0 0 sand -1.25 5;
+#X obj 240 0 sand -1.25 5.4;
+#X obj 480 0 sand -1.25 5.8;
+#X obj 720 0 sand -1.25 6.2;
+#X obj 960 0 sand -1.25 6.6;
+#X obj 1200 0 sand -1.25 7;
+#X obj 1440 0 sand -1.25 7.4;
+#X obj 1680 0 sand -1.25 7.8;
+#X obj 1920 0 sand -1.25 8.2;
+#X obj 2160 0 sand -1.25 8.6;
+#X obj 2400 0 sand -1.25 9;
+#X obj 2640 0 sand -1.25 9.4;
+#X obj 2880 0 sand -1.25 9.8;
+#X obj 3120 0 sand -1.25 10.2;
+#X obj 3360 0 sand -1.25 10.6;
+#X obj 0 30 sand -1 5;
+#X obj 240 30 sand -1 5.4;
+#X obj 480 30 sand -1 5.8;
+#X obj 720 30 sand -1 6.2;
+#X obj 960 30 sand -1 6.6;
+#X obj 1200 30 sand -1 7;
+#X obj 1440 30 sand -1 7.4;
+#X obj 1680 30 sand -1 7.8;
+#X obj 1920 30 sand -1 8.2;
+#X obj 2160 30 sand -1 8.6;
+#X obj 2400 30 sand -1 9;
+#X obj 2640 30 sand -1 9.4;
+#X obj 2880 30 sand -1 9.8;
+#X obj 3120 30 sand -1 10.2;
+#X obj 3360 30 sand -1 10.6;
+#X obj 0 60 sand -0.75 5;
+#X obj 240 60 sand -0.75 5.4;
+#X obj 480 60 sand -0.75 5.8;
+#X obj 720 60 sand -0.75 6.2;
+#X obj 960 60 sand -0.75 6.6;
+#X obj 1200 60 sand -0.75 7;
+#X obj 1440 60 sand -0.75 7.4;
+#X obj 1680 60 sand -0.75 7.8;
+#X obj 1920 60 sand -0.75 8.2;
+#X obj 2160 60 sand -0.75 8.6;
+#X obj 2400 60 sand -0.75 9;
+#X obj 2640 60 sand -0.75 9.4;
+#X obj 2880 60 sand -0.75 9.8;
+#X obj 3120 60 sand -0.75 10.2;
+#X obj 3360 60 sand -0.75 10.6;
+#X obj 0 90 sand -0.5 5;
+#X obj 240 90 sand -0.5 5.4;
+#X obj 480 90 sand -0.5 5.8;
+#X obj 720 90 sand -0.5 6.2;
+#X obj 960 90 sand -0.5 6.6;
+#X obj 1200 90 sand -0.5 7;
+#X obj 1440 90 sand -0.5 7.4;
+#X obj 1680 90 sand -0.5 7.8;
+#X obj 1920 90 sand -0.5 8.2;
+#X obj 2160 90 sand -0.5 8.6;
+#X obj 2400 90 sand -0.5 9;
+#X obj 2640 90 sand -0.5 9.4;
+#X obj 2880 90 sand -0.5 9.8;
+#X obj 3120 90 sand -0.5 10.2;
+#X obj 3360 90 sand -0.5 10.6;
+#X obj 0 120 sand -0.25 5;
+#X obj 240 120 sand -0.25 5.4;
+#X obj 720 120 sand -0.25 6.2;
+#X obj 960 120 sand -0.25 6.6;
+#X obj 1200 120 sand -0.25 7;
+#X obj 1440 120 sand -0.25 7.4;
+#X obj 1680 120 sand -0.25 7.8;
+#X obj 1920 120 sand -0.25 8.2;
+#X obj 2160 120 sand -0.25 8.6;
+#X obj 2400 120 sand -0.25 9;
+#X obj 2640 120 sand -0.25 9.4;
+#X obj 2880 120 sand -0.25 9.8;
+#X obj 3120 120 sand -0.25 10.2;
+#X obj 3360 120 sand -0.25 10.6;
+#X obj 0 150 sand 0 5;
+#X obj 240 150 sand 0 5.4;
+#X obj 480 150 sand 0 5.8;
+#X obj 720 150 sand 0 6.2;
+#X obj 960 150 sand 0 6.6;
+#X obj 1200 150 sand 0 7;
+#X obj 1440 150 sand 0 7.4;
+#X obj 1680 150 sand 0 7.8;
+#X obj 1920 150 sand 0 8.2;
+#X obj 2160 150 sand 0 8.6;
+#X obj 2400 150 sand 0 9;
+#X obj 2640 150 sand 0 9.4;
+#X obj 2880 150 sand 0 9.8;
+#X obj 3120 150 sand 0 10.2;
+#X obj 3360 150 sand 0 10.6;
+#X obj 0 180 sand 0.25 5;
+#X obj 240 180 sand 0.25 5.4;
+#X obj 480 180 sand 0.25 5.8;
+#X obj 720 180 sand 0.25 6.2;
+#X obj 960 180 sand 0.25 6.6;
+#X obj 1200 180 sand 0.25 7;
+#X obj 1440 180 sand 0.25 7.4;
+#X obj 1680 180 sand 0.25 7.8;
+#X obj 1920 180 sand 0.25 8.2;
+#X obj 2160 180 sand 0.25 8.6;
+#X obj 2400 180 sand 0.25 9;
+#X obj 2640 180 sand 0.25 9.4;
+#X obj 2880 180 sand 0.25 9.8;
+#X obj 3120 180 sand 0.25 10.2;
+#X obj 3360 180 sand 0.25 10.6;
+#X obj 0 210 sand 0.5 5;
+#X obj 240 210 sand 0.5 5.4;
+#X obj 480 210 sand 0.5 5.8;
+#X obj 720 210 sand 0.5 6.2;
+#X obj 960 210 sand 0.5 6.6;
+#X obj 1200 210 sand 0.5 7;
+#X obj 1440 210 sand 0.5 7.4;
+#X obj 1680 210 sand 0.5 7.8;
+#X obj 1920 210 sand 0.5 8.2;
+#X obj 2160 210 sand 0.5 8.6;
+#X obj 2400 210 sand 0.5 9;
+#X obj 2640 210 sand 0.5 9.4;
+#X obj 2880 210 sand 0.5 9.8;
+#X obj 3120 210 sand 0.5 10.2;
+#X obj 3360 210 sand 0.5 10.6;
+#X obj 0 240 sand 0.75 5;
+#X obj 240 240 sand 0.75 5.4;
+#X obj 480 240 sand 0.75 5.8;
+#X obj 720 240 sand 0.75 6.2;
+#X obj 960 240 sand 0.75 6.6;
+#X obj 1200 240 sand 0.75 7;
+#X obj 1440 240 sand 0.75 7.4;
+#X obj 1680 240 sand 0.75 7.8;
+#X obj 1920 240 sand 0.75 8.2;
+#X obj 2160 240 sand 0.75 8.6;
+#X obj 2400 240 sand 0.75 9;
+#X obj 2640 240 sand 0.75 9.4;
+#X obj 2880 240 sand 0.75 9.8;
+#X obj 3120 240 sand 0.75 10.2;
+#X obj 3360 240 sand 0.75 10.6;
+#X obj 0 270 sand 1 5;
+#X obj 240 270 sand 1 5.4;
+#X obj 480 270 sand 1 5.8;
+#X obj 720 270 sand 1 6.2;
+#X obj 960 270 sand 1 6.6;
+#X obj 1200 270 sand 1 7;
+#X obj 1440 270 sand 1 7.4;
+#X obj 1680 270 sand 1 7.8;
+#X obj 1920 270 sand 1 8.2;
+#X obj 2160 270 sand 1 8.6;
+#X obj 2400 270 sand 1 9;
+#X obj 2640 270 sand 1 9.4;
+#X obj 2880 270 sand 1 9.8;
+#X obj 3120 270 sand 1 10.2;
+#X obj 3360 270 sand 1 10.6;
+#X restore 324 139 pd pool;
+#N canvas 366 192 363 603 creation 0;
+#X obj 41 491 s pd-new;
+#X msg 95 95 \; pd filename new ./ \; #N canvas \; #X pop 1 \;;
+#X msg 40 464 menuclose;
+#X obj 43 47 sel 0 1;
+#X obj 44 29 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 69 72 t b b;
+#X obj 97 412 pack f f f f;
+#X obj 89 191 t b f f;
+#X obj 100 299 t f f;
+#X obj 107 219 * 30;
+#X obj 99 377 * 120;
+#X obj 101 275 * 2;
+#X obj 163 346 - 5;
+#X obj 126 328 / 5;
+#X msg 96 440 obj \$1 \$2 sand \$3 \$4;
+#X obj 127 351 + 5;
+#X obj 160 370 / 4;
+#X obj 73 163 ch_uzi 10;
+#X obj 88 247 ch_uzi 15;
+#X connect 2 0 0 0;
+#X connect 3 0 2 0;
+#X connect 3 1 5 0;
+#X connect 4 0 3 0;
+#X connect 5 0 17 0;
+#X connect 5 1 1 0;
+#X connect 6 0 14 0;
+#X connect 7 0 18 0;
+#X connect 7 1 9 0;
+#X connect 7 1 12 0;
+#X connect 8 0 10 0;
+#X connect 8 1 13 0;
+#X connect 9 0 6 1;
+#X connect 10 0 6 0;
+#X connect 11 0 8 0;
+#X connect 12 0 16 0;
+#X connect 13 0 15 0;
+#X connect 14 0 0 0;
+#X connect 15 0 6 3;
+#X connect 16 0 6 2;
+#X connect 17 1 7 0;
+#X connect 18 1 11 0;
+#X restore 325 166 pd creation pool;
+#X msg 137 110 reset;
+#X obj 137 134 s mass;
+#X obj 79 172 s link;
+#X obj 19 85 metro 10;
+#X obj 58 247 iCircle2D mass 3 2 0 2.98 0 0 1 0 0 0 0.1;
+#X obj 68 267 iCircle2D mass -3 2 0 2.98 0 0 1 0 0 0 0.1;
+#X obj 83 289 iCircle2D mass 7 6 0 5 0 0 1 0 0 0 0.1;
+#X obj 93 309 iCircle2D mass -7 6 0 5 0 0 1 0 0 0 0.1;
+#X floatatom 62 65 5 0 0 0 - - -;
+#X text 99 19 some physical parameters change from the previus exemples...
+;
+#X msg 203 115 reset \, view 0 0 -6 0 0 0 0 1 0 \, create \, 1;
+#X text 161 5 small balls;
+#X obj 45 210 iAmbient2D mass 0 -0.001 0 0 0.005;
+#X text 464 115 <- 1;
+#X text 39 33 <- 2;
+#X connect 0 0 5 0;
+#X connect 0 1 10 0;
+#X connect 0 1 12 0;
+#X connect 0 1 13 0;
+#X connect 0 1 14 0;
+#X connect 0 1 15 0;
+#X connect 0 1 20 0;
+#X connect 1 0 11 0;
+#X connect 2 0 8 0;
+#X connect 3 0 4 0;
+#X connect 8 0 9 0;
+#X connect 11 0 0 0;
+#X connect 16 0 11 1;
+#X connect 18 0 4 0;
diff --git a/examples/27_tLia.pd b/examples/27_tLia.pd
new file mode 100644
index 0000000..08d05dd
--- /dev/null
+++ b/examples/27_tLia.pd
@@ -0,0 +1,874 @@
+#N canvas 128 41 836 611 12;
+#N canvas 306 123 269 250 mass 0;
+#X obj 24 23 inlet;
+#X obj 24 83 outlet;
+#X obj 83 138 gemhead;
+#X obj 84 85 unpack s f f;
+#X obj 83 169 translateXYZ 0 0 0;
+#X obj 129 111 / 100;
+#X obj 175 112 / 100;
+#X obj 24 55 mass2D mass 10;
+#X obj 83 197 sphere 0.1;
+#X connect 0 0 7 0;
+#X connect 2 0 4 0;
+#X connect 3 1 5 0;
+#X connect 3 2 6 0;
+#X connect 4 0 8 0;
+#X connect 5 0 4 1;
+#X connect 6 0 4 2;
+#X connect 7 0 1 0;
+#X connect 7 0 3 0;
+#X restore 143 474 pd mass;
+#X obj 27 266 s link;
+#X obj 62 242 s mass;
+#X obj 397 336 s mass;
+#X msg 184 227 setK \$1;
+#X msg 399 177 setM \$1;
+#X obj 184 259 s link;
+#X obj 399 205 s mass;
+#X obj 184 201 / 10;
+#X obj 184 175 + 1;
+#X obj 487 188 gemwin;
+#X msg 494 159 0 \, destroy;
+#X floatatom 184 153 5 10 100 0 - - -;
+#X floatatom 245 155 5 0 3 0 - - -;
+#X floatatom 399 154 5 20 500 0 - - -;
+#X msg 411 306 force2D 2000 0;
+#X obj 27 191 metro 10;
+#X obj 27 215 t b b;
+#X msg 396 363 force2D 0 5000;
+#X msg 184 129 50;
+#X msg 245 129 1;
+#X msg 399 130 200;
+#X obj 868 171 world_light;
+#X obj 868 112 gemhead;
+#X obj 868 142 rotateXYZ;
+#X msg 397 278 force2D 0 1000;
+#X msg 245 178 setD \$1;
+#X obj 27 37 loadbang;
+#X msg 108 127 reset;
+#X obj 108 154 s mass;
+#X obj 27 68 t b b b b;
+#X msg 49 128 resetF;
+#X obj 49 155 s link;
+#X floatatom 321 155 5 0 3 0 - - -;
+#X msg 321 129 1;
+#X msg 321 178 setD2 \$1;
+#N canvas 306 123 576 363 mass 0;
+#X obj 24 99 outlet;
+#X obj 145 98 gemhead;
+#X obj 137 134 unpack s f f;
+#X obj 143 190 translateXYZ 0 0 0;
+#X obj 185 160 / 100;
+#X obj 228 161 / 100;
+#X obj 144 224 sphere 0.1;
+#X obj 26 70 mass2D mass2 10 -300 0;
+#X msg 25 42 reset;
+#X connect 1 0 3 0;
+#X connect 2 1 4 0;
+#X connect 2 2 5 0;
+#X connect 3 0 6 0;
+#X connect 4 0 3 1;
+#X connect 5 0 3 2;
+#X connect 7 0 0 0;
+#X connect 7 0 2 0;
+#X connect 8 0 7 0;
+#X restore 11 411 pd mass;
+#X msg 396 394 force2D 5000 0;
+#X text 474 12 2D string;
+#X text 542 278 <- send Y force to all masss;
+#X text 544 307 <- send X force to all masss;
+#X text 540 363 <- send Y force to 2 masss;
+#X text 542 392 <- send X force to 1 masss;
+#N canvas 306 123 265 246 mass 0;
+#X obj 24 23 inlet;
+#X obj 24 83 outlet;
+#X obj 83 138 gemhead;
+#X obj 84 85 unpack s f f;
+#X obj 83 169 translateXYZ 0 0 0;
+#X obj 129 111 / 100;
+#X obj 175 112 / 100;
+#X obj 24 55 mass2D mass 10;
+#X obj 83 197 sphere 0.1;
+#X connect 0 0 7 0;
+#X connect 2 0 4 0;
+#X connect 3 1 5 0;
+#X connect 3 2 6 0;
+#X connect 4 0 8 0;
+#X connect 5 0 4 1;
+#X connect 6 0 4 2;
+#X connect 7 0 1 0;
+#X connect 7 0 3 0;
+#X restore 288 480 pd mass;
+#X obj 11 437 link2D link 30 1 1;
+#X obj 158 436 link2D link 30 1 1;
+#N canvas 306 123 263 244 mass 0;
+#X obj 24 23 inlet;
+#X obj 24 83 outlet;
+#X obj 83 138 gemhead;
+#X obj 84 85 unpack s f f;
+#X obj 83 169 translateXYZ 0 0 0;
+#X obj 129 111 / 100;
+#X obj 175 112 / 100;
+#X obj 24 55 mass2D mass 10;
+#X obj 83 197 sphere 0.1;
+#X connect 0 0 7 0;
+#X connect 2 0 4 0;
+#X connect 3 1 5 0;
+#X connect 3 2 6 0;
+#X connect 4 0 8 0;
+#X connect 5 0 4 1;
+#X connect 6 0 4 2;
+#X connect 7 0 1 0;
+#X connect 7 0 3 0;
+#X restore 432 474 pd mass;
+#N canvas 306 123 263 244 mass 0;
+#X obj 24 23 inlet;
+#X obj 24 83 outlet;
+#X obj 83 138 gemhead;
+#X obj 84 85 unpack s f f;
+#X obj 83 169 translateXYZ 0 0 0;
+#X obj 129 111 / 100;
+#X obj 175 112 / 100;
+#X obj 24 55 mass2D mass 10;
+#X obj 83 198 sphere 0.1;
+#X connect 0 0 7 0;
+#X connect 2 0 4 0;
+#X connect 3 1 5 0;
+#X connect 3 2 6 0;
+#X connect 4 0 8 0;
+#X connect 5 0 4 1;
+#X connect 6 0 4 2;
+#X connect 7 0 1 0;
+#X connect 7 0 3 0;
+#X restore 570 477 pd mass;
+#X obj 300 437 link2D link 30 1 1;
+#X obj 447 436 link2D link 30 1 1;
+#N canvas 306 123 263 244 mass 0;
+#X obj 24 23 inlet;
+#X obj 24 83 outlet;
+#X obj 83 138 gemhead;
+#X obj 84 85 unpack s f f;
+#X obj 83 169 translateXYZ 0 0 0;
+#X obj 129 111 / 100;
+#X obj 175 112 / 100;
+#X obj 24 55 mass2D mass 10;
+#X obj 83 197 sphere 0.1;
+#X connect 0 0 7 0;
+#X connect 2 0 4 0;
+#X connect 3 1 5 0;
+#X connect 3 2 6 0;
+#X connect 4 0 8 0;
+#X connect 5 0 4 1;
+#X connect 6 0 4 2;
+#X connect 7 0 1 0;
+#X connect 7 0 3 0;
+#X restore 719 477 pd mass;
+#X obj 596 436 link2D link 30 1 1;
+#N canvas 306 123 263 244 mass 0;
+#X obj 24 23 inlet;
+#X obj 24 83 outlet;
+#X obj 83 138 gemhead;
+#X obj 84 85 unpack s f f;
+#X obj 83 169 translateXYZ 0 0 0;
+#X obj 129 111 / 100;
+#X obj 175 112 / 100;
+#X obj 24 55 mass2D mass 10;
+#X obj 83 197 sphere 0.1;
+#X connect 0 0 7 0;
+#X connect 2 0 4 0;
+#X connect 3 1 5 0;
+#X connect 3 2 6 0;
+#X connect 4 0 8 0;
+#X connect 5 0 4 1;
+#X connect 6 0 4 2;
+#X connect 7 0 1 0;
+#X connect 7 0 3 0;
+#X restore 870 474 pd mass;
+#N canvas 306 123 263 244 mass 0;
+#X obj 24 23 inlet;
+#X obj 24 83 outlet;
+#X obj 83 138 gemhead;
+#X obj 84 85 unpack s f f;
+#X obj 83 169 translateXYZ 0 0 0;
+#X obj 129 111 / 100;
+#X obj 175 112 / 100;
+#X obj 24 55 mass2D mass 10;
+#X obj 83 197 sphere 0.1;
+#X connect 0 0 7 0;
+#X connect 2 0 4 0;
+#X connect 3 1 5 0;
+#X connect 3 2 6 0;
+#X connect 4 0 8 0;
+#X connect 5 0 4 1;
+#X connect 6 0 4 2;
+#X connect 7 0 1 0;
+#X connect 7 0 3 0;
+#X restore 1008 477 pd mass;
+#X obj 738 437 link2D link 30 1 1;
+#X obj 885 436 link2D link 30 1 1;
+#N canvas 306 123 263 244 mass 0;
+#X obj 24 23 inlet;
+#X obj 24 83 outlet;
+#X obj 83 138 gemhead;
+#X obj 84 85 unpack s f f;
+#X obj 83 169 translateXYZ 0 0 0;
+#X obj 129 111 / 100;
+#X obj 175 112 / 100;
+#X obj 24 55 mass2D mass 10;
+#X obj 83 197 sphere 0.1;
+#X connect 0 0 7 0;
+#X connect 2 0 4 0;
+#X connect 3 1 5 0;
+#X connect 3 2 6 0;
+#X connect 4 0 8 0;
+#X connect 5 0 4 1;
+#X connect 6 0 4 2;
+#X connect 7 0 1 0;
+#X connect 7 0 3 0;
+#X restore 157 617 pd mass;
+#N canvas 306 123 263 244 mass 0;
+#X obj 24 23 inlet;
+#X obj 24 83 outlet;
+#X obj 83 138 gemhead;
+#X obj 84 85 unpack s f f;
+#X obj 83 169 translateXYZ 0 0 0;
+#X obj 129 111 / 100;
+#X obj 175 112 / 100;
+#X obj 24 55 mass2D mass 10;
+#X obj 83 197 sphere 0.1;
+#X connect 0 0 7 0;
+#X connect 2 0 4 0;
+#X connect 3 1 5 0;
+#X connect 3 2 6 0;
+#X connect 4 0 8 0;
+#X connect 5 0 4 1;
+#X connect 6 0 4 2;
+#X connect 7 0 1 0;
+#X connect 7 0 3 0;
+#X restore 292 622 pd mass;
+#X obj 24 580 link2D link 30 1 1;
+#X obj 171 579 link2D link 30 1 1;
+#N canvas 306 123 263 244 mass 0;
+#X obj 24 23 inlet;
+#X obj 24 83 outlet;
+#X obj 83 138 gemhead;
+#X obj 84 85 unpack s f f;
+#X obj 83 169 translateXYZ 0 0 0;
+#X obj 129 111 / 100;
+#X obj 175 112 / 100;
+#X obj 24 55 mass2D mass 10;
+#X obj 83 197 sphere 0.1;
+#X connect 0 0 7 0;
+#X connect 2 0 4 0;
+#X connect 3 1 5 0;
+#X connect 3 2 6 0;
+#X connect 4 0 8 0;
+#X connect 5 0 4 1;
+#X connect 6 0 4 2;
+#X connect 7 0 1 0;
+#X connect 7 0 3 0;
+#X restore 445 617 pd mass;
+#N canvas 306 123 263 244 mass 0;
+#X obj 24 23 inlet;
+#X obj 24 83 outlet;
+#X obj 83 138 gemhead;
+#X obj 84 85 unpack s f f;
+#X obj 83 169 translateXYZ 0 0 0;
+#X obj 129 111 / 100;
+#X obj 175 112 / 100;
+#X obj 24 55 mass2D mass 10;
+#X obj 83 197 sphere 0.1;
+#X connect 0 0 7 0;
+#X connect 2 0 4 0;
+#X connect 3 1 5 0;
+#X connect 3 2 6 0;
+#X connect 4 0 8 0;
+#X connect 5 0 4 1;
+#X connect 6 0 4 2;
+#X connect 7 0 1 0;
+#X connect 7 0 3 0;
+#X restore 583 620 pd mass;
+#X obj 313 580 link2D link 30 1 1;
+#X obj 460 579 link2D link 30 1 1;
+#N canvas 306 123 263 244 mass 0;
+#X obj 24 23 inlet;
+#X obj 24 83 outlet;
+#X obj 83 138 gemhead;
+#X obj 84 85 unpack s f f;
+#X obj 83 169 translateXYZ 0 0 0;
+#X obj 129 111 / 100;
+#X obj 175 112 / 100;
+#X obj 24 55 mass2D mass 10;
+#X obj 83 197 sphere 0.1;
+#X connect 0 0 7 0;
+#X connect 2 0 4 0;
+#X connect 3 1 5 0;
+#X connect 3 2 6 0;
+#X connect 4 0 8 0;
+#X connect 5 0 4 1;
+#X connect 6 0 4 2;
+#X connect 7 0 1 0;
+#X connect 7 0 3 0;
+#X restore 732 620 pd mass;
+#X obj 609 579 link2D link 30 1 1;
+#N canvas 306 123 263 244 mass 0;
+#X obj 24 23 inlet;
+#X obj 24 83 outlet;
+#X obj 83 138 gemhead;
+#X obj 84 85 unpack s f f;
+#X obj 83 169 translateXYZ 0 0 0;
+#X obj 129 111 / 100;
+#X obj 175 112 / 100;
+#X obj 24 55 mass2D mass 10;
+#X obj 83 197 sphere 0.1;
+#X connect 0 0 7 0;
+#X connect 2 0 4 0;
+#X connect 3 1 5 0;
+#X connect 3 2 6 0;
+#X connect 4 0 8 0;
+#X connect 5 0 4 1;
+#X connect 6 0 4 2;
+#X connect 7 0 1 0;
+#X connect 7 0 3 0;
+#X restore 883 617 pd mass;
+#N canvas 306 123 271 252 mass 0;
+#X obj 24 83 outlet;
+#X obj 83 138 gemhead;
+#X obj 84 85 unpack s f f;
+#X obj 83 169 translateXYZ 0 0 0;
+#X obj 129 111 / 100;
+#X obj 175 112 / 100;
+#X obj 24 55 mass2D mass2 10 300;
+#X obj 83 197 sphere 0.1;
+#X msg 26 31 reset;
+#X connect 1 0 3 0;
+#X connect 2 1 4 0;
+#X connect 2 2 5 0;
+#X connect 3 0 7 0;
+#X connect 4 0 3 1;
+#X connect 5 0 3 2;
+#X connect 6 0 0 0;
+#X connect 6 0 2 0;
+#X connect 8 0 6 0;
+#X restore 1021 552 pd mass;
+#X obj 751 580 link2D link 30 1 1;
+#X obj 898 579 link2D link 30 1 1;
+#X msg 487 132 reset \, lighting 1 \, create \, 1;
+#X obj 112 43 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#N canvas 170 431 361 373 link 0;
+#X obj 87 24 inlet;
+#X obj 162 24 inlet;
+#X obj 87 55 tLink2D link;
+#X obj 46 207 translateXYZ;
+#X obj 162 82 unpack s f f;
+#X obj 207 112 / 100;
+#X obj 253 112 / 100;
+#X obj 46 180 gemhead;
+#X obj 46 283 sphere 1;
+#X obj 46 233 rotateXYZ;
+#X obj 46 257 scaleXYZ 0 0.1 0.1;
+#X obj 87 84 / 200;
+#X connect 0 0 2 0;
+#X connect 1 0 2 1;
+#X connect 2 0 11 0;
+#X connect 2 2 9 3;
+#X connect 2 3 4 0;
+#X connect 3 0 9 0;
+#X connect 4 1 5 0;
+#X connect 4 2 6 0;
+#X connect 5 0 3 1;
+#X connect 6 0 3 2;
+#X connect 7 0 3 0;
+#X connect 9 0 10 0;
+#X connect 10 0 8 0;
+#X connect 11 0 10 1;
+#X restore 197 505 pd link;
+#N canvas 170 431 359 371 link 0;
+#X obj 87 24 inlet;
+#X obj 162 24 inlet;
+#X obj 87 55 tLink2D link;
+#X obj 46 207 translateXYZ;
+#X obj 162 82 unpack s f f;
+#X obj 207 112 / 100;
+#X obj 253 112 / 100;
+#X obj 46 180 gemhead;
+#X obj 46 283 sphere 1;
+#X obj 46 233 rotateXYZ;
+#X obj 46 257 scaleXYZ 0 0.1 0.1;
+#X obj 87 84 / 200;
+#X connect 0 0 2 0;
+#X connect 1 0 2 1;
+#X connect 2 0 11 0;
+#X connect 2 2 9 3;
+#X connect 2 3 4 0;
+#X connect 3 0 9 0;
+#X connect 4 1 5 0;
+#X connect 4 2 6 0;
+#X connect 5 0 3 1;
+#X connect 6 0 3 2;
+#X connect 7 0 3 0;
+#X connect 9 0 10 0;
+#X connect 10 0 8 0;
+#X connect 11 0 10 1;
+#X restore 349 513 pd link;
+#N canvas 170 431 363 375 link 0;
+#X obj 87 24 inlet;
+#X obj 162 24 inlet;
+#X obj 87 55 tLink2D link;
+#X obj 46 207 translateXYZ;
+#X obj 162 82 unpack s f f;
+#X obj 207 112 / 100;
+#X obj 253 112 / 100;
+#X obj 46 180 gemhead;
+#X obj 46 283 sphere 1;
+#X obj 46 233 rotateXYZ;
+#X obj 46 257 scaleXYZ 0 0.1 0.1;
+#X obj 87 84 / 200;
+#X connect 0 0 2 0;
+#X connect 1 0 2 1;
+#X connect 2 0 11 0;
+#X connect 2 2 9 3;
+#X connect 2 3 4 0;
+#X connect 3 0 9 0;
+#X connect 4 1 5 0;
+#X connect 4 2 6 0;
+#X connect 5 0 3 1;
+#X connect 6 0 3 2;
+#X connect 7 0 3 0;
+#X connect 9 0 10 0;
+#X connect 10 0 8 0;
+#X connect 11 0 10 1;
+#X restore 498 516 pd link;
+#N canvas 170 431 359 371 link 0;
+#X obj 87 24 inlet;
+#X obj 162 24 inlet;
+#X obj 87 55 tLink2D link;
+#X obj 46 207 translateXYZ;
+#X obj 162 82 unpack s f f;
+#X obj 207 112 / 100;
+#X obj 253 112 / 100;
+#X obj 46 180 gemhead;
+#X obj 46 283 sphere 1;
+#X obj 46 233 rotateXYZ;
+#X obj 46 257 scaleXYZ 0 0.1 0.1;
+#X obj 87 84 / 200;
+#X connect 0 0 2 0;
+#X connect 1 0 2 1;
+#X connect 2 0 11 0;
+#X connect 2 2 9 3;
+#X connect 2 3 4 0;
+#X connect 3 0 9 0;
+#X connect 4 1 5 0;
+#X connect 4 2 6 0;
+#X connect 5 0 3 1;
+#X connect 6 0 3 2;
+#X connect 7 0 3 0;
+#X connect 9 0 10 0;
+#X connect 10 0 8 0;
+#X connect 11 0 10 1;
+#X restore 655 516 pd link;
+#N canvas 170 431 361 373 link 0;
+#X obj 87 24 inlet;
+#X obj 162 24 inlet;
+#X obj 87 55 tLink2D link;
+#X obj 46 207 translateXYZ;
+#X obj 162 82 unpack s f f;
+#X obj 207 112 / 100;
+#X obj 253 112 / 100;
+#X obj 46 180 gemhead;
+#X obj 46 283 sphere 1;
+#X obj 46 233 rotateXYZ;
+#X obj 46 257 scaleXYZ 0 0.1 0.1;
+#X obj 87 84 / 200;
+#X connect 0 0 2 0;
+#X connect 1 0 2 1;
+#X connect 2 0 11 0;
+#X connect 2 2 9 3;
+#X connect 2 3 4 0;
+#X connect 3 0 9 0;
+#X connect 4 1 5 0;
+#X connect 4 2 6 0;
+#X connect 5 0 3 1;
+#X connect 6 0 3 2;
+#X connect 7 0 3 0;
+#X connect 9 0 10 0;
+#X connect 10 0 8 0;
+#X connect 11 0 10 1;
+#X restore 55 505 pd link;
+#N canvas 170 431 359 371 link 0;
+#X obj 87 24 inlet;
+#X obj 162 24 inlet;
+#X obj 87 55 tLink2D link;
+#X obj 46 207 translateXYZ;
+#X obj 162 82 unpack s f f;
+#X obj 207 112 / 100;
+#X obj 253 112 / 100;
+#X obj 46 180 gemhead;
+#X obj 46 283 sphere 1;
+#X obj 46 233 rotateXYZ;
+#X obj 46 257 scaleXYZ 0 0.1 0.1;
+#X obj 87 84 / 200;
+#X connect 0 0 2 0;
+#X connect 1 0 2 1;
+#X connect 2 0 11 0;
+#X connect 2 2 9 3;
+#X connect 2 3 4 0;
+#X connect 3 0 9 0;
+#X connect 4 1 5 0;
+#X connect 4 2 6 0;
+#X connect 5 0 3 1;
+#X connect 6 0 3 2;
+#X connect 7 0 3 0;
+#X connect 9 0 10 0;
+#X connect 10 0 8 0;
+#X connect 11 0 10 1;
+#X restore 796 521 pd link;
+#N canvas 170 431 359 371 link 0;
+#X obj 87 24 inlet;
+#X obj 162 24 inlet;
+#X obj 87 55 tLink2D link;
+#X obj 46 207 translateXYZ;
+#X obj 162 82 unpack s f f;
+#X obj 207 112 / 100;
+#X obj 253 112 / 100;
+#X obj 46 180 gemhead;
+#X obj 46 283 sphere 1;
+#X obj 46 233 rotateXYZ;
+#X obj 46 257 scaleXYZ 0 0.1 0.1;
+#X obj 87 84 / 200;
+#X connect 0 0 2 0;
+#X connect 1 0 2 1;
+#X connect 2 0 11 0;
+#X connect 2 2 9 3;
+#X connect 2 3 4 0;
+#X connect 3 0 9 0;
+#X connect 4 1 5 0;
+#X connect 4 2 6 0;
+#X connect 5 0 3 1;
+#X connect 6 0 3 2;
+#X connect 7 0 3 0;
+#X connect 9 0 10 0;
+#X connect 10 0 8 0;
+#X connect 11 0 10 1;
+#X restore 916 516 pd link;
+#N canvas 170 431 359 371 link 0;
+#X obj 87 24 inlet;
+#X obj 162 24 inlet;
+#X obj 87 55 tLink2D link;
+#X obj 46 207 translateXYZ;
+#X obj 162 82 unpack s f f;
+#X obj 207 112 / 100;
+#X obj 253 112 / 100;
+#X obj 46 180 gemhead;
+#X obj 46 283 sphere 1;
+#X obj 46 233 rotateXYZ;
+#X obj 46 257 scaleXYZ 0 0.1 0.1;
+#X obj 87 84 / 200;
+#X connect 0 0 2 0;
+#X connect 1 0 2 1;
+#X connect 2 0 11 0;
+#X connect 2 2 9 3;
+#X connect 2 3 4 0;
+#X connect 3 0 9 0;
+#X connect 4 1 5 0;
+#X connect 4 2 6 0;
+#X connect 5 0 3 1;
+#X connect 6 0 3 2;
+#X connect 7 0 3 0;
+#X connect 9 0 10 0;
+#X connect 10 0 8 0;
+#X connect 11 0 10 1;
+#X restore 51 650 pd link;
+#N canvas 170 431 359 371 link 0;
+#X obj 87 24 inlet;
+#X obj 162 24 inlet;
+#X obj 87 55 tLink2D link;
+#X obj 46 207 translateXYZ;
+#X obj 162 82 unpack s f f;
+#X obj 207 112 / 100;
+#X obj 253 112 / 100;
+#X obj 46 180 gemhead;
+#X obj 46 283 sphere 1;
+#X obj 46 233 rotateXYZ;
+#X obj 46 257 scaleXYZ 0 0.1 0.1;
+#X obj 87 84 / 200;
+#X connect 0 0 2 0;
+#X connect 1 0 2 1;
+#X connect 2 0 11 0;
+#X connect 2 2 9 3;
+#X connect 2 3 4 0;
+#X connect 3 0 9 0;
+#X connect 4 1 5 0;
+#X connect 4 2 6 0;
+#X connect 5 0 3 1;
+#X connect 6 0 3 2;
+#X connect 7 0 3 0;
+#X connect 9 0 10 0;
+#X connect 10 0 8 0;
+#X connect 11 0 10 1;
+#X restore 222 652 pd link;
+#N canvas 170 431 359 371 link 0;
+#X obj 87 24 inlet;
+#X obj 162 24 inlet;
+#X obj 87 55 tLink2D link;
+#X obj 46 207 translateXYZ;
+#X obj 162 82 unpack s f f;
+#X obj 207 112 / 100;
+#X obj 253 112 / 100;
+#X obj 46 180 gemhead;
+#X obj 46 283 sphere 1;
+#X obj 46 233 rotateXYZ;
+#X obj 46 257 scaleXYZ 0 0.1 0.1;
+#X obj 87 84 / 200;
+#X connect 0 0 2 0;
+#X connect 1 0 2 1;
+#X connect 2 0 11 0;
+#X connect 2 2 9 3;
+#X connect 2 3 4 0;
+#X connect 3 0 9 0;
+#X connect 4 1 5 0;
+#X connect 4 2 6 0;
+#X connect 5 0 3 1;
+#X connect 6 0 3 2;
+#X connect 7 0 3 0;
+#X connect 9 0 10 0;
+#X connect 10 0 8 0;
+#X connect 11 0 10 1;
+#X restore 375 652 pd link;
+#N canvas 170 431 359 371 link 0;
+#X obj 87 24 inlet;
+#X obj 162 24 inlet;
+#X obj 87 55 tLink2D link;
+#X obj 46 207 translateXYZ;
+#X obj 162 82 unpack s f f;
+#X obj 207 112 / 100;
+#X obj 253 112 / 100;
+#X obj 46 180 gemhead;
+#X obj 46 283 sphere 1;
+#X obj 46 233 rotateXYZ;
+#X obj 46 257 scaleXYZ 0 0.1 0.1;
+#X obj 87 84 / 200;
+#X connect 0 0 2 0;
+#X connect 1 0 2 1;
+#X connect 2 0 11 0;
+#X connect 2 2 9 3;
+#X connect 2 3 4 0;
+#X connect 3 0 9 0;
+#X connect 4 1 5 0;
+#X connect 4 2 6 0;
+#X connect 5 0 3 1;
+#X connect 6 0 3 2;
+#X connect 7 0 3 0;
+#X connect 9 0 10 0;
+#X connect 10 0 8 0;
+#X connect 11 0 10 1;
+#X restore 512 654 pd link;
+#N canvas 170 431 359 371 link 0;
+#X obj 87 24 inlet;
+#X obj 162 24 inlet;
+#X obj 87 55 tLink2D link;
+#X obj 46 207 translateXYZ;
+#X obj 162 82 unpack s f f;
+#X obj 207 112 / 100;
+#X obj 253 112 / 100;
+#X obj 46 180 gemhead;
+#X obj 46 283 sphere 1;
+#X obj 46 233 rotateXYZ;
+#X obj 46 257 scaleXYZ 0 0.1 0.1;
+#X obj 87 84 / 200;
+#X connect 0 0 2 0;
+#X connect 1 0 2 1;
+#X connect 2 0 11 0;
+#X connect 2 2 9 3;
+#X connect 2 3 4 0;
+#X connect 3 0 9 0;
+#X connect 4 1 5 0;
+#X connect 4 2 6 0;
+#X connect 5 0 3 1;
+#X connect 6 0 3 2;
+#X connect 7 0 3 0;
+#X connect 9 0 10 0;
+#X connect 10 0 8 0;
+#X connect 11 0 10 1;
+#X restore 675 660 pd link;
+#N canvas 170 431 359 371 link 0;
+#X obj 87 24 inlet;
+#X obj 162 24 inlet;
+#X obj 87 55 tLink2D link;
+#X obj 46 207 translateXYZ;
+#X obj 162 82 unpack s f f;
+#X obj 207 112 / 100;
+#X obj 253 112 / 100;
+#X obj 46 180 gemhead;
+#X obj 46 283 sphere 1;
+#X obj 46 233 rotateXYZ;
+#X obj 46 257 scaleXYZ 0 0.1 0.1;
+#X obj 87 84 / 200;
+#X connect 0 0 2 0;
+#X connect 1 0 2 1;
+#X connect 2 0 11 0;
+#X connect 2 2 9 3;
+#X connect 2 3 4 0;
+#X connect 3 0 9 0;
+#X connect 4 1 5 0;
+#X connect 4 2 6 0;
+#X connect 5 0 3 1;
+#X connect 6 0 3 2;
+#X connect 7 0 3 0;
+#X connect 9 0 10 0;
+#X connect 10 0 8 0;
+#X connect 11 0 10 1;
+#X restore 811 657 pd link;
+#N canvas 170 431 359 371 link 0;
+#X obj 87 24 inlet;
+#X obj 162 24 inlet;
+#X obj 87 55 tLink2D link;
+#X obj 46 207 translateXYZ;
+#X obj 162 82 unpack s f f;
+#X obj 207 112 / 100;
+#X obj 253 112 / 100;
+#X obj 46 180 gemhead;
+#X obj 46 283 sphere 1;
+#X obj 46 233 rotateXYZ;
+#X obj 46 257 scaleXYZ 0 0.1 0.1;
+#X obj 87 84 / 200;
+#X connect 0 0 2 0;
+#X connect 1 0 2 1;
+#X connect 2 0 11 0;
+#X connect 2 2 9 3;
+#X connect 2 3 4 0;
+#X connect 3 0 9 0;
+#X connect 4 1 5 0;
+#X connect 4 2 6 0;
+#X connect 5 0 3 1;
+#X connect 6 0 3 2;
+#X connect 7 0 3 0;
+#X connect 9 0 10 0;
+#X connect 10 0 8 0;
+#X connect 11 0 10 1;
+#X restore 918 658 pd link;
+#X text 341 36 it's like a previus exemples \, but link are drawn according
+to a "tlink" object wich output information about the linkison (position
+\, orientation etc).;
+#X text 727 133 <- 1;
+#X connect 0 0 44 1;
+#X connect 0 0 45 0;
+#X connect 0 0 72 0;
+#X connect 0 0 76 1;
+#X connect 4 0 6 0;
+#X connect 5 0 7 0;
+#X connect 8 0 4 0;
+#X connect 9 0 8 0;
+#X connect 11 0 10 0;
+#X connect 12 0 9 0;
+#X connect 13 0 26 0;
+#X connect 14 0 5 0;
+#X connect 15 0 3 0;
+#X connect 16 0 17 0;
+#X connect 17 0 1 0;
+#X connect 17 1 2 0;
+#X connect 18 0 0 0;
+#X connect 18 0 43 0;
+#X connect 19 0 12 0;
+#X connect 20 0 13 0;
+#X connect 21 0 14 0;
+#X connect 23 0 24 0;
+#X connect 24 0 22 0;
+#X connect 25 0 3 0;
+#X connect 26 0 6 0;
+#X connect 27 0 30 0;
+#X connect 28 0 29 0;
+#X connect 30 0 16 0;
+#X connect 30 1 31 0;
+#X connect 30 2 28 0;
+#X connect 30 3 19 0;
+#X connect 30 3 20 0;
+#X connect 30 3 21 0;
+#X connect 30 3 34 0;
+#X connect 31 0 32 0;
+#X connect 33 0 35 0;
+#X connect 34 0 33 0;
+#X connect 35 0 6 0;
+#X connect 36 0 44 0;
+#X connect 36 0 76 0;
+#X connect 37 0 46 0;
+#X connect 43 0 45 1;
+#X connect 43 0 48 0;
+#X connect 43 0 72 1;
+#X connect 43 0 73 0;
+#X connect 44 1 0 0;
+#X connect 45 0 0 0;
+#X connect 45 1 43 0;
+#X connect 46 0 48 1;
+#X connect 46 0 49 0;
+#X connect 46 0 74 0;
+#X connect 46 0 73 1;
+#X connect 47 0 49 1;
+#X connect 47 0 51 0;
+#X connect 47 0 75 0;
+#X connect 47 0 74 1;
+#X connect 48 0 43 0;
+#X connect 48 1 46 0;
+#X connect 49 0 46 0;
+#X connect 49 1 47 0;
+#X connect 50 0 51 1;
+#X connect 50 0 54 0;
+#X connect 50 0 75 1;
+#X connect 50 0 77 0;
+#X connect 51 0 47 0;
+#X connect 51 1 50 0;
+#X connect 52 0 54 1;
+#X connect 52 0 55 0;
+#X connect 52 0 77 1;
+#X connect 52 0 78 0;
+#X connect 53 0 55 1;
+#X connect 53 0 58 0;
+#X connect 53 0 78 1;
+#X connect 53 0 79 0;
+#X connect 54 0 50 0;
+#X connect 54 1 52 0;
+#X connect 55 0 52 0;
+#X connect 55 1 53 0;
+#X connect 56 0 58 1;
+#X connect 56 0 59 0;
+#X connect 56 0 79 1;
+#X connect 56 0 80 0;
+#X connect 57 0 59 1;
+#X connect 57 0 62 0;
+#X connect 57 0 80 1;
+#X connect 57 0 81 0;
+#X connect 58 0 53 0;
+#X connect 58 1 56 0;
+#X connect 59 0 56 0;
+#X connect 59 1 57 0;
+#X connect 60 0 62 1;
+#X connect 60 0 63 0;
+#X connect 60 0 81 1;
+#X connect 60 0 82 0;
+#X connect 61 0 63 1;
+#X connect 61 0 65 0;
+#X connect 61 0 82 1;
+#X connect 61 0 83 0;
+#X connect 62 0 57 0;
+#X connect 62 1 60 0;
+#X connect 63 0 60 0;
+#X connect 63 1 61 0;
+#X connect 64 0 65 1;
+#X connect 64 0 68 0;
+#X connect 64 0 83 1;
+#X connect 64 0 84 0;
+#X connect 65 0 61 0;
+#X connect 65 1 64 0;
+#X connect 66 0 68 1;
+#X connect 66 0 69 0;
+#X connect 66 0 84 1;
+#X connect 66 0 85 0;
+#X connect 67 0 69 1;
+#X connect 67 0 85 1;
+#X connect 68 0 64 0;
+#X connect 68 1 66 0;
+#X connect 69 0 66 0;
+#X connect 70 0 10 0;
+#X connect 71 0 30 0;
diff --git a/examples/28_Lia.pd b/examples/28_Lia.pd
new file mode 100644
index 0000000..f65ab7e
--- /dev/null
+++ b/examples/28_Lia.pd
@@ -0,0 +1,108 @@
+#N canvas 43 52 799 551 12;
+#X obj 9 35 metro 10;
+#X obj 9 10 loadbang;
+#X obj 9 62 t b b;
+#X obj 44 87 s \$0-link;
+#X obj 9 113 s \$0-mass;
+#X obj 28 154 link \$0-link 0 1 1;
+#X obj 28 202 link \$0-link 0 1 1;
+#X obj 29 253 link \$0-link 0 1 1;
+#X obj 30 304 link \$0-link 0 1 1;
+#X obj 31 353 link \$0-link 0 1 1;
+#X obj 31 403 link \$0-link 0 1 1;
+#X obj 31 453 link \$0-link 0 1 1;
+#X obj 31 502 link \$0-link 0 1 1;
+#X obj 28 178 mass \$0-mass 30;
+#X obj 29 228 mass \$0-mass 30;
+#X obj 30 279 mass \$0-mass 30;
+#X obj 30 329 mass \$0-mass 30;
+#X obj 31 378 mass \$0-mass 30;
+#X obj 31 428 mass \$0-mass 30;
+#X obj 31 477 mass \$0-mass 30;
+#X obj 269 181 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 0 1;
+#X obj 269 196 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 800 1;
+#X obj 269 211 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 1600 1;
+#X obj 269 226 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 2400 1;
+#X obj 269 241 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 3200 1;
+#X obj 269 256 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 4000 1;
+#X obj 269 271 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 4800 1;
+#X obj 269 286 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 5600 1;
+#X obj 269 301 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 6400 1;
+#X obj 192 130 loadbang;
+#X msg 192 154 64;
+#X text 416 177 <- move here;
+#X text 415 298 <- diferents link to this points;
+#X text 621 349 <- normal link;
+#X text 621 430 <- repulsive link;
+#X text 621 403 <- link with minimal value;
+#X msg 220 453 setLmax 300 \, setL 0 \, setLmin 0 \, setK 0 \, setD
+10;
+#X text 622 454 <- viscosity link;
+#X msg 221 349 setLmax 300 \, setL 0 \, setLmin 0 \, setK 1 \, setD
+1;
+#X msg 220 376 setLmax 30 \, setL 0 \, setLmin 0 \, setK 1 \, setD
+1;
+#X msg 220 401 setLmax 300 \, setL 30 \, setLmin 30 \, setK 1 \, setD
+1;
+#X msg 220 426 setLmax 30 \, setL 30 \, setLmin 0 \, setK 1 \, setD
+1;
+#X text 622 374 <- link can break if deformation is to big;
+#X text 319 12 This is an exemple of diferents comportement of a link
+;
+#X connect 0 0 2 0;
+#X connect 1 0 0 0;
+#X connect 2 0 4 0;
+#X connect 2 1 3 0;
+#X connect 5 1 13 0;
+#X connect 6 0 13 0;
+#X connect 6 1 14 0;
+#X connect 7 0 14 0;
+#X connect 7 1 15 0;
+#X connect 8 0 15 0;
+#X connect 8 1 16 0;
+#X connect 9 0 16 0;
+#X connect 9 1 17 0;
+#X connect 10 0 17 0;
+#X connect 10 1 18 0;
+#X connect 11 0 18 0;
+#X connect 11 1 19 0;
+#X connect 12 0 19 0;
+#X connect 13 0 5 1;
+#X connect 13 0 6 0;
+#X connect 13 0 21 0;
+#X connect 14 0 6 1;
+#X connect 14 0 7 0;
+#X connect 14 0 22 0;
+#X connect 15 0 7 1;
+#X connect 15 0 8 0;
+#X connect 15 0 23 0;
+#X connect 16 0 8 1;
+#X connect 16 0 9 0;
+#X connect 16 0 24 0;
+#X connect 17 0 9 1;
+#X connect 17 0 10 0;
+#X connect 17 0 25 0;
+#X connect 18 0 10 1;
+#X connect 18 0 11 0;
+#X connect 18 0 26 0;
+#X connect 19 0 11 1;
+#X connect 19 0 12 0;
+#X connect 19 0 27 0;
+#X connect 20 0 5 0;
+#X connect 28 0 12 1;
+#X connect 29 0 30 0;
+#X connect 30 0 28 0;
+#X connect 36 0 12 0;
+#X connect 38 0 12 0;
+#X connect 39 0 12 0;
+#X connect 40 0 12 0;
+#X connect 41 0 12 0;
diff --git a/examples/29_aglom.pd b/examples/29_aglom.pd
new file mode 100644
index 0000000..9ee9c3e
--- /dev/null
+++ b/examples/29_aglom.pd
@@ -0,0 +1,104 @@
+#N canvas 51 18 635 423 10;
+#X obj 18 181 t b b;
+#X obj 18 103 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X msg 145 149 0 \, destroy;
+#X obj 111 177 gemwin;
+#X msg 111 124 reset \, create \, 1;
+#X obj 18 390 s mass;
+#X obj 266 150 s reset_mass;
+#X msg 266 128 bang;
+#X text 359 281 <- right border;
+#X text 360 303 <- left border;
+#X text 360 325 <- top border;
+#X text 360 347 <- bottom border;
+#N canvas 845 31 438 384 pool 0;
+#X obj 290 290 aglom2 29;
+#X obj 0 0 aglom2 0;
+#X obj 10 10 aglom2 1;
+#X obj 20 20 aglom2 2;
+#X obj 30 30 aglom2 3;
+#X obj 40 40 aglom2 4;
+#X obj 50 50 aglom2 5;
+#X obj 60 60 aglom2 6;
+#X obj 70 70 aglom2 7;
+#X obj 80 80 aglom2 8;
+#X obj 90 90 aglom2 9;
+#X obj 100 100 aglom2 10;
+#X obj 110 110 aglom2 11;
+#X obj 120 120 aglom2 12;
+#X obj 130 130 aglom2 13;
+#X obj 140 140 aglom2 14;
+#X obj 150 150 aglom2 15;
+#X obj 160 160 aglom2 16;
+#X obj 170 170 aglom2 17;
+#X obj 180 180 aglom2 18;
+#X obj 190 190 aglom2 19;
+#X obj 200 200 aglom2 20;
+#X obj 210 210 aglom2 21;
+#X obj 220 220 aglom2 22;
+#X obj 230 230 aglom2 23;
+#X obj 240 240 aglom2 24;
+#X obj 250 250 aglom2 25;
+#X obj 260 260 aglom2 26;
+#X obj 270 270 aglom2 27;
+#X obj 280 280 aglom2 28;
+#X restore 398 132 pd pool;
+#N canvas 860 482 315 409 creation 0;
+#X obj 43 319 s pd-new;
+#X msg 86 95 \; pd filename new ./ \; #N canvas \; #X pop 1 \;;
+#X msg 43 289 menuclose;
+#X obj 76 238 pack f f f;
+#X obj 43 47 sel 0 1;
+#X obj 43 29 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 61 72 t b b;
+#X obj 76 187 t f f f;
+#X obj 103 211 * 10;
+#X obj 76 211 * 10;
+#X msg 76 265 obj \$1 \$2 aglom2 \$3;
+#X obj 61 163 ch_uzi 30;
+#X connect 2 0 0 0;
+#X connect 3 0 10 0;
+#X connect 4 0 2 0;
+#X connect 4 1 6 0;
+#X connect 5 0 4 0;
+#X connect 6 0 11 0;
+#X connect 6 1 1 0;
+#X connect 7 0 9 0;
+#X connect 7 1 8 0;
+#X connect 7 2 3 2;
+#X connect 8 0 3 1;
+#X connect 9 0 3 0;
+#X connect 10 0 0 0;
+#X connect 11 1 7 0;
+#X restore 398 158 pd creation pool;
+#X obj 61 214 s link;
+#X obj 18 154 metro 5;
+#X obj 53 280 iLine2D mass 3.5 -3.5 3.5 3.5 1000 0 0 10;
+#X obj 63 304 iLine2D mass -3.5 3.5 -3.5 -3.5 1000 0 0 10;
+#X obj 78 327 iLine2D mass 3.5 3.5 -3.5 3.5 1000 0 0 10;
+#X obj 89 350 iLine2D mass -3.5 -3.5 3.5 -3.5 1000 0 0 10;
+#X text 50 100 <- begin (change the metro speed for slow computer)
+;
+#X floatatom 55 123 5 0 0 0 - - -;
+#X obj 43 260 iAmbient2D mass 0 0 0.01 0.01 1;
+#X text 359 257 <- give random speed and ambient viscosity;
+#X text 174 35 All masss got 2 circular interactors around them. This
+create a non linear interactor. this make them to atract / repuls depending
+on ther distances....;
+#X text 177 6 All masss interact each other in a way for the creation
+of small structures;
+#X connect 0 0 5 0;
+#X connect 0 1 14 0;
+#X connect 0 1 16 0;
+#X connect 0 1 17 0;
+#X connect 0 1 18 0;
+#X connect 0 1 19 0;
+#X connect 0 1 22 0;
+#X connect 1 0 15 0;
+#X connect 2 0 3 0;
+#X connect 4 0 3 0;
+#X connect 7 0 6 0;
+#X connect 15 0 0 0;
+#X connect 21 0 15 1;
diff --git a/examples/30_falling_aglom.pd b/examples/30_falling_aglom.pd
new file mode 100644
index 0000000..1947ff3
--- /dev/null
+++ b/examples/30_falling_aglom.pd
@@ -0,0 +1,167 @@
+#N canvas 53 34 632 373 10;
+#X obj 18 137 t b b;
+#X obj 18 48 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X msg 146 95 0 \, destroy;
+#X obj 111 123 gemwin;
+#X obj 18 337 s mass;
+#X text 359 227 <- right border;
+#X text 360 249 <- left border;
+#X text 357 307 <- top border;
+#X text 358 276 <- bottom border;
+#N canvas 527 17 819 225 pool 0;
+#X obj 320 120 aglom3 0 11;
+#X obj 160 0 aglom3 -2 5;
+#X obj 0 0 aglom3 -4 5;
+#X obj 80 0 aglom3 -3 5;
+#X obj 240 0 aglom3 -1 5;
+#X obj 320 0 aglom3 0 5;
+#X obj 400 0 aglom3 1 5;
+#X obj 480 0 aglom3 2 5;
+#X obj 560 0 aglom3 3 5;
+#X obj 640 0 aglom3 4 5;
+#X obj 0 20 aglom3 -4 6;
+#X obj 80 20 aglom3 -3 6;
+#X obj 160 20 aglom3 -2 6;
+#X obj 240 20 aglom3 -1 6;
+#X obj 320 20 aglom3 0 6;
+#X obj 400 20 aglom3 1 6;
+#X obj 480 20 aglom3 2 6;
+#X obj 560 20 aglom3 3 6;
+#X obj 640 20 aglom3 4 6;
+#X obj 0 40 aglom3 -4 7;
+#X obj 80 40 aglom3 -3 7;
+#X obj 160 40 aglom3 -2 7;
+#X obj 240 40 aglom3 -1 7;
+#X obj 320 40 aglom3 0 7;
+#X obj 400 40 aglom3 1 7;
+#X obj 480 40 aglom3 2 7;
+#X obj 560 40 aglom3 3 7;
+#X obj 640 40 aglom3 4 7;
+#X obj 0 60 aglom3 -4 8;
+#X obj 80 60 aglom3 -3 8;
+#X obj 160 60 aglom3 -2 8;
+#X obj 240 60 aglom3 -1 8;
+#X obj 320 60 aglom3 0 8;
+#X obj 400 60 aglom3 1 8;
+#X obj 480 60 aglom3 2 8;
+#X obj 560 60 aglom3 3 8;
+#X obj 640 60 aglom3 4 8;
+#X obj 0 80 aglom3 -4 9;
+#X obj 80 80 aglom3 -3 9;
+#X obj 160 80 aglom3 -2 9;
+#X obj 240 80 aglom3 -1 9;
+#X obj 320 80 aglom3 0 9;
+#X obj 400 80 aglom3 1 9;
+#X obj 480 80 aglom3 2 9;
+#X obj 560 80 aglom3 3 9;
+#X obj 640 80 aglom3 4 9;
+#X obj 0 100 aglom3 -4 10;
+#X obj 80 100 aglom3 -3 10;
+#X obj 160 100 aglom3 -2 10;
+#X obj 240 100 aglom3 -1 10;
+#X obj 320 100 aglom3 0 10;
+#X obj 400 100 aglom3 1 10;
+#X obj 480 100 aglom3 2 10;
+#X obj 560 100 aglom3 3 10;
+#X obj 640 100 aglom3 4 10;
+#X obj 0 120 aglom3 -4 11;
+#X obj 80 120 aglom3 -3 11;
+#X obj 160 120 aglom3 -2 11;
+#X obj 240 120 aglom3 -1 11;
+#X obj 400 120 aglom3 1 11;
+#X obj 480 120 aglom3 2 11;
+#X obj 560 120 aglom3 3 11;
+#X obj 640 120 aglom3 4 11;
+#X restore 398 78 pd pool;
+#N canvas 860 482 321 415 creation 0;
+#X obj 46 380 s pd-new;
+#X msg 86 95 \; pd filename new ./ \; #N canvas \; #X pop 1 \;;
+#X msg 46 350 menuclose;
+#X obj 43 47 sel 0 1;
+#X obj 43 29 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 61 72 t b b;
+#X msg 79 325 obj \$1 \$2 aglom3 \$3 \$4;
+#X obj 79 299 pack f f f f;
+#X obj 171 259 + 5;
+#X obj 70 228 t f f;
+#X obj 107 272 * 20;
+#X obj 81 272 * 80;
+#X obj 140 240 / 1;
+#X obj 171 237 / 1;
+#X obj 143 263 - 4;
+#X obj 61 163 ch_uzi 8;
+#X obj 60 203 ch_uzi 9;
+#X connect 2 0 0 0;
+#X connect 3 0 2 0;
+#X connect 3 1 5 0;
+#X connect 4 0 3 0;
+#X connect 5 0 15 0;
+#X connect 5 1 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 6 0;
+#X connect 8 0 7 3;
+#X connect 9 0 11 0;
+#X connect 9 1 12 0;
+#X connect 10 0 7 1;
+#X connect 11 0 7 0;
+#X connect 12 0 14 0;
+#X connect 13 0 8 0;
+#X connect 14 0 7 2;
+#X connect 15 0 16 0;
+#X connect 15 1 10 0;
+#X connect 15 1 13 0;
+#X connect 16 1 9 0;
+#X restore 398 104 pd creation pool;
+#X obj 61 160 s link;
+#X obj 18 100 metro 5;
+#X obj 53 226 iLine2D mass 3.5 -3.5 3.5 3.5 1000 0 0 10;
+#X obj 63 250 iLine2D mass -3.5 3.5 -3.5 -3.5 1000 0 0 10;
+#X text 50 45 <- begin (change the metro speed for slow computer);
+#X floatatom 55 69 5 0 0 0 - - -;
+#X text 359 203 <- give random speed and ambient viscosity;
+#X msg 243 98 reset;
+#X obj 244 120 s mass;
+#N canvas 828 304 454 304 line 0;
+#X obj 62 28 gemhead;
+#X obj 60 82 curve 2;
+#X msg 136 58 5 8 0;
+#X obj 57 135 gemhead;
+#X obj 55 189 curve 2;
+#X msg 132 165 -5 8 0;
+#X obj 162 21 loadbang;
+#X msg 79 55 0.2 3 0;
+#X msg 74 162 -0.2 3 0;
+#X connect 0 0 1 0;
+#X connect 2 0 1 2;
+#X connect 3 0 4 0;
+#X connect 5 0 4 2;
+#X connect 6 0 7 0;
+#X connect 6 0 2 0;
+#X connect 6 0 8 0;
+#X connect 6 0 5 0;
+#X connect 7 0 1 1;
+#X connect 8 0 4 1;
+#X restore 398 131 pd line gem;
+#X obj 77 272 iLine2D mass -3.5 -7.5 3.5 -7.5 1000 0 0 10;
+#X obj 90 195 iAmbient2D mass 0 -0.0015 0 0 0.4;
+#X obj 160 317 iSeg2D mass -5 8 -0.2 3 1 0.5;
+#X obj 165 298 iSeg2D mass 0.2 3 5 8 1 0.5;
+#X msg 111 70 reset \, view 0 0 -8 0 0 0 0 1 0 \, create \, 1;
+#X text 145 10 It's the same as previus exemple \, but in a gravity
+field.;
+#X connect 0 0 4 0;
+#X connect 0 1 11 0;
+#X connect 0 1 13 0;
+#X connect 0 1 14 0;
+#X connect 0 1 21 0;
+#X connect 0 1 22 0;
+#X connect 0 1 23 0;
+#X connect 0 1 24 0;
+#X connect 1 0 12 0;
+#X connect 2 0 3 0;
+#X connect 12 0 0 0;
+#X connect 16 0 12 1;
+#X connect 18 0 19 0;
+#X connect 25 0 3 0;
diff --git a/examples/31_paste.pd b/examples/31_paste.pd
new file mode 100644
index 0000000..6cf317d
--- /dev/null
+++ b/examples/31_paste.pd
@@ -0,0 +1,206 @@
+#N canvas 36 58 602 351 10;
+#X obj 10 157 t b b;
+#X obj 10 69 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X msg 141 115 0 \, destroy;
+#X obj 106 143 gemwin;
+#X obj 9 306 s mass;
+#X text 364 271 <- top border;
+#X text 365 240 <- bottom border;
+#N canvas 527 17 851 257 pool 0;
+#X obj 400 180 aglom4 0 15;
+#X obj 240 180 aglom4 -2 15;
+#X obj 320 160 aglom4 -1 14;
+#X obj 0 0 aglom4 -5 6;
+#X obj 80 0 aglom4 -4 6;
+#X obj 160 0 aglom4 -3 6;
+#X obj 240 0 aglom4 -2 6;
+#X obj 320 0 aglom4 -1 6;
+#X obj 400 0 aglom4 0 6;
+#X obj 480 0 aglom4 1 6;
+#X obj 560 0 aglom4 2 6;
+#X obj 640 0 aglom4 3 6;
+#X obj 720 0 aglom4 4 6;
+#X obj 800 0 aglom4 5 6;
+#X obj 0 20 aglom4 -5 7;
+#X obj 80 20 aglom4 -4 7;
+#X obj 160 20 aglom4 -3 7;
+#X obj 240 20 aglom4 -2 7;
+#X obj 320 20 aglom4 -1 7;
+#X obj 400 20 aglom4 0 7;
+#X obj 480 20 aglom4 1 7;
+#X obj 560 20 aglom4 2 7;
+#X obj 640 20 aglom4 3 7;
+#X obj 720 20 aglom4 4 7;
+#X obj 800 20 aglom4 5 7;
+#X obj 0 40 aglom4 -5 8;
+#X obj 80 40 aglom4 -4 8;
+#X obj 160 40 aglom4 -3 8;
+#X obj 240 40 aglom4 -2 8;
+#X obj 320 40 aglom4 -1 8;
+#X obj 400 40 aglom4 0 8;
+#X obj 480 40 aglom4 1 8;
+#X obj 560 40 aglom4 2 8;
+#X obj 640 40 aglom4 3 8;
+#X obj 720 40 aglom4 4 8;
+#X obj 800 40 aglom4 5 8;
+#X obj 0 60 aglom4 -5 9;
+#X obj 80 60 aglom4 -4 9;
+#X obj 160 60 aglom4 -3 9;
+#X obj 240 60 aglom4 -2 9;
+#X obj 320 60 aglom4 -1 9;
+#X obj 400 60 aglom4 0 9;
+#X obj 480 60 aglom4 1 9;
+#X obj 560 60 aglom4 2 9;
+#X obj 640 60 aglom4 3 9;
+#X obj 720 60 aglom4 4 9;
+#X obj 800 60 aglom4 5 9;
+#X obj 0 80 aglom4 -5 10;
+#X obj 80 80 aglom4 -4 10;
+#X obj 160 80 aglom4 -3 10;
+#X obj 240 80 aglom4 -2 10;
+#X obj 320 80 aglom4 -1 10;
+#X obj 400 80 aglom4 0 10;
+#X obj 480 80 aglom4 1 10;
+#X obj 560 80 aglom4 2 10;
+#X obj 640 80 aglom4 3 10;
+#X obj 720 80 aglom4 4 10;
+#X obj 800 80 aglom4 5 10;
+#X obj 0 100 aglom4 -5 11;
+#X obj 80 100 aglom4 -4 11;
+#X obj 160 100 aglom4 -3 11;
+#X obj 240 100 aglom4 -2 11;
+#X obj 320 100 aglom4 -1 11;
+#X obj 400 100 aglom4 0 11;
+#X obj 480 100 aglom4 1 11;
+#X obj 560 100 aglom4 2 11;
+#X obj 640 100 aglom4 3 11;
+#X obj 720 100 aglom4 4 11;
+#X obj 800 100 aglom4 5 11;
+#X obj 0 120 aglom4 -5 12;
+#X obj 80 120 aglom4 -4 12;
+#X obj 160 120 aglom4 -3 12;
+#X obj 240 120 aglom4 -2 12;
+#X obj 320 120 aglom4 -1 12;
+#X obj 400 120 aglom4 0 12;
+#X obj 480 120 aglom4 1 12;
+#X obj 560 120 aglom4 2 12;
+#X obj 640 120 aglom4 3 12;
+#X obj 720 120 aglom4 4 12;
+#X obj 800 120 aglom4 5 12;
+#X obj 0 140 aglom4 -5 13;
+#X obj 80 140 aglom4 -4 13;
+#X obj 160 140 aglom4 -3 13;
+#X obj 240 140 aglom4 -2 13;
+#X obj 320 140 aglom4 -1 13;
+#X obj 400 140 aglom4 0 13;
+#X obj 480 140 aglom4 1 13;
+#X obj 560 140 aglom4 2 13;
+#X obj 640 140 aglom4 3 13;
+#X obj 720 140 aglom4 4 13;
+#X obj 800 140 aglom4 5 13;
+#X obj 0 160 aglom4 -5 14;
+#X obj 80 160 aglom4 -4 14;
+#X obj 160 160 aglom4 -3 14;
+#X obj 240 160 aglom4 -2 14;
+#X obj 400 160 aglom4 0 14;
+#X obj 480 160 aglom4 1 14;
+#X obj 560 160 aglom4 2 14;
+#X obj 640 160 aglom4 3 14;
+#X obj 720 160 aglom4 4 14;
+#X obj 800 160 aglom4 5 14;
+#X obj 0 180 aglom4 -5 15;
+#X obj 80 180 aglom4 -4 15;
+#X obj 160 180 aglom4 -3 15;
+#X obj 320 180 aglom4 -1 15;
+#X obj 480 180 aglom4 1 15;
+#X obj 560 180 aglom4 2 15;
+#X obj 640 180 aglom4 3 15;
+#X obj 720 180 aglom4 4 15;
+#X obj 800 180 aglom4 5 15;
+#X restore 393 99 pd pool;
+#N canvas 860 482 327 421 creation 0;
+#X obj 46 380 s pd-new;
+#X msg 86 95 \; pd filename new ./ \; #N canvas \; #X pop 1 \;;
+#X msg 46 350 menuclose;
+#X obj 43 47 sel 0 1;
+#X obj 43 29 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 61 72 t b b;
+#X obj 79 299 pack f f f f;
+#X obj 70 228 t f f;
+#X obj 107 272 * 20;
+#X obj 81 272 * 80;
+#X msg 79 325 obj \$1 \$2 aglom4 \$3 \$4;
+#X obj 60 183 t b f;
+#X obj 171 259 + 6;
+#X obj 143 263 - 5;
+#X obj 61 163 ch_uzi 10;
+#X obj 60 203 ch_uzi 11;
+#X connect 2 0 0 0;
+#X connect 3 0 2 0;
+#X connect 3 1 5 0;
+#X connect 4 0 3 0;
+#X connect 5 0 14 0;
+#X connect 5 1 1 0;
+#X connect 6 0 10 0;
+#X connect 7 0 9 0;
+#X connect 7 1 13 0;
+#X connect 8 0 6 1;
+#X connect 9 0 6 0;
+#X connect 10 0 0 0;
+#X connect 11 0 15 0;
+#X connect 11 1 8 0;
+#X connect 11 1 12 0;
+#X connect 12 0 6 3;
+#X connect 13 0 6 2;
+#X connect 14 1 11 0;
+#X connect 15 1 7 0;
+#X restore 393 125 pd creation pool;
+#X obj 56 180 s link;
+#X text 227 12 All masss interact each other;
+#X text 42 66 <- begin (change the metro speed for slow computer);
+#X floatatom 47 89 5 0 0 0 - - -;
+#X msg 238 118 reset;
+#X obj 238 140 s mass;
+#N canvas 828 304 460 310 line 0;
+#X obj 62 28 gemhead;
+#X obj 60 82 curve 2;
+#X msg 136 58 5 8 0;
+#X obj 57 135 gemhead;
+#X obj 55 189 curve 2;
+#X msg 132 165 -5 8 0;
+#X obj 162 21 loadbang;
+#X msg 79 55 0.5 3 0;
+#X msg 74 161 -0.5 3 0;
+#X connect 0 0 1 0;
+#X connect 2 0 1 2;
+#X connect 3 0 4 0;
+#X connect 5 0 4 2;
+#X connect 6 0 7 0;
+#X connect 6 0 2 0;
+#X connect 6 0 8 0;
+#X connect 6 0 5 0;
+#X connect 7 0 1 1;
+#X connect 8 0 4 1;
+#X restore 393 151 pd line gem;
+#X obj 91 239 iLine2D mass -3.5 -7.5 3.5 -7.5 1000 0 0 1;
+#X obj 73 213 iAmbient2D mass 0 -0.0015 0 0 0.04;
+#X obj 10 120 metro 10;
+#X text 366 209 <- give gravity and ambient viscosity;
+#X msg 106 90 reset \, view 0 0 -8 0 0 0 0 1 0 \, create \, 1;
+#X obj 109 263 iSeg2D mass 0.5 3 5 8 2 0.1;
+#X obj 126 284 iSeg2D mass -5 8 -0.5 3 2 0.1;
+#X text 163 25 they got a viscosity link. the global comportement is
+a bit like paste;
+#X connect 0 0 4 0;
+#X connect 0 1 9 0;
+#X connect 0 1 17 0;
+#X connect 0 1 21 0;
+#X connect 0 1 22 0;
+#X connect 1 0 18 0;
+#X connect 2 0 3 0;
+#X connect 12 0 18 1;
+#X connect 13 0 14 0;
+#X connect 18 0 0 0;
+#X connect 20 0 3 0;
diff --git a/examples/32_Kelvin_Helmoltz_instability.pd b/examples/32_Kelvin_Helmoltz_instability.pd
new file mode 100644
index 0000000..746aace
--- /dev/null
+++ b/examples/32_Kelvin_Helmoltz_instability.pd
@@ -0,0 +1,160 @@
+#N canvas 48 33 528 221 10;
+#N canvas 860 482 341 435 creation 0;
+#X obj 46 380 s pd-new;
+#X msg 86 95 \; pd filename new ./ \; #N canvas \; #X pop 1 \;;
+#X msg 46 350 menuclose;
+#X obj 43 47 sel 0 1;
+#X obj 43 29 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 61 72 t b b;
+#X obj 107 272 * 20;
+#X obj 82 272 * 20;
+#X obj 76 188 t f f;
+#X obj 79 299 pack f f f;
+#X msg 79 325 obj \$1 \$2 vortex \$3;
+#X obj 138 270 / 8;
+#X obj 136 223 - 50;
+#X obj 62 163 ch_uzi 100;
+#X connect 2 0 0 0;
+#X connect 3 0 2 0;
+#X connect 3 1 5 0;
+#X connect 4 0 3 0;
+#X connect 5 0 13 0;
+#X connect 5 1 1 0;
+#X connect 6 0 9 1;
+#X connect 7 0 9 0;
+#X connect 8 0 7 0;
+#X connect 8 1 6 0;
+#X connect 8 1 12 0;
+#X connect 9 0 10 0;
+#X connect 10 0 0 0;
+#X connect 11 0 9 2;
+#X connect 12 0 11 0;
+#X connect 13 1 8 0;
+#X restore 391 176 pd creation pool;
+#N canvas 790 67 588 512 pool 0;
+#X obj 320 320 vortex -4.25;
+#X obj 240 240 vortex -4.75;
+#X obj 0 0 vortex -6.25;
+#X obj 20 20 vortex -6.125;
+#X obj 40 40 vortex -6;
+#X obj 60 60 vortex -5.875;
+#X obj 80 80 vortex -5.75;
+#X obj 100 100 vortex -5.625;
+#X obj 120 120 vortex -5.5;
+#X obj 140 140 vortex -5.375;
+#X obj 160 160 vortex -5.25;
+#X obj 180 180 vortex -5.125;
+#X obj 200 200 vortex -5;
+#X obj 220 220 vortex -4.875;
+#X obj 260 260 vortex -4.625;
+#X obj 280 280 vortex -4.5;
+#X obj 300 300 vortex -4.375;
+#X obj 340 340 vortex -4.125;
+#X obj 360 360 vortex -4;
+#X obj 380 380 vortex -3.875;
+#X obj 400 400 vortex -3.75;
+#X obj 420 420 vortex -3.625;
+#X obj 440 440 vortex -3.5;
+#X obj 460 460 vortex -3.375;
+#X obj 480 480 vortex -3.25;
+#X obj 500 500 vortex -3.125;
+#X obj 520 520 vortex -3;
+#X obj 540 540 vortex -2.875;
+#X obj 560 560 vortex -2.75;
+#X obj 580 580 vortex -2.625;
+#X obj 600 600 vortex -2.5;
+#X obj 620 620 vortex -2.375;
+#X obj 640 640 vortex -2.25;
+#X obj 660 660 vortex -2.125;
+#X obj 680 680 vortex -2;
+#X obj 700 700 vortex -1.875;
+#X obj 720 720 vortex -1.75;
+#X obj 740 740 vortex -1.625;
+#X obj 760 760 vortex -1.5;
+#X obj 780 780 vortex -1.375;
+#X obj 800 800 vortex -1.25;
+#X obj 820 820 vortex -1.125;
+#X obj 840 840 vortex -1;
+#X obj 860 860 vortex -0.875;
+#X obj 880 880 vortex -0.75;
+#X obj 900 900 vortex -0.625;
+#X obj 920 920 vortex -0.5;
+#X obj 940 940 vortex -0.375;
+#X obj 960 960 vortex -0.25;
+#X obj 980 980 vortex -0.125;
+#X obj 1000 1000 vortex 0;
+#X obj 1020 1020 vortex 0.125;
+#X obj 1040 1040 vortex 0.25;
+#X obj 1060 1060 vortex 0.375;
+#X obj 1080 1080 vortex 0.5;
+#X obj 1100 1100 vortex 0.625;
+#X obj 1120 1120 vortex 0.75;
+#X obj 1140 1140 vortex 0.875;
+#X obj 1160 1160 vortex 1;
+#X obj 1180 1180 vortex 1.125;
+#X obj 1200 1200 vortex 1.25;
+#X obj 1220 1220 vortex 1.375;
+#X obj 1240 1240 vortex 1.5;
+#X obj 1260 1260 vortex 1.625;
+#X obj 1280 1280 vortex 1.75;
+#X obj 1300 1300 vortex 1.875;
+#X obj 1320 1320 vortex 2;
+#X obj 1340 1340 vortex 2.125;
+#X obj 1360 1360 vortex 2.25;
+#X obj 1380 1380 vortex 2.375;
+#X obj 1400 1400 vortex 2.5;
+#X obj 1420 1420 vortex 2.625;
+#X obj 1440 1440 vortex 2.75;
+#X obj 1460 1460 vortex 2.875;
+#X obj 1480 1480 vortex 3;
+#X obj 1500 1500 vortex 3.125;
+#X obj 1520 1520 vortex 3.25;
+#X obj 1540 1540 vortex 3.375;
+#X obj 1560 1560 vortex 3.5;
+#X obj 1580 1580 vortex 3.625;
+#X obj 1600 1600 vortex 3.75;
+#X obj 1620 1620 vortex 3.875;
+#X obj 1640 1640 vortex 4;
+#X obj 1660 1660 vortex 4.125;
+#X obj 1680 1680 vortex 4.25;
+#X obj 1700 1700 vortex 4.375;
+#X obj 1720 1720 vortex 4.5;
+#X obj 1740 1740 vortex 4.625;
+#X obj 1760 1760 vortex 4.75;
+#X obj 1780 1780 vortex 4.875;
+#X obj 1800 1800 vortex 5;
+#X obj 1820 1820 vortex 5.125;
+#X obj 1840 1840 vortex 5.25;
+#X obj 1860 1860 vortex 5.375;
+#X obj 1880 1880 vortex 5.5;
+#X obj 1900 1900 vortex 5.625;
+#X obj 1920 1920 vortex 5.75;
+#X obj 1940 1940 vortex 5.875;
+#X obj 1960 1960 vortex 6;
+#X obj 1980 1980 vortex 6.125;
+#X restore 391 150 pd pool;
+#X obj 18 139 t b b;
+#X obj 18 62 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 18 183 s mass;
+#X obj 43 164 s link;
+#X text 50 59 <- begin (change the metro speed for slow computer);
+#X floatatom 61 82 5 0 0 0 - - -;
+#X obj 18 113 metro 10;
+#X msg 156 128 0 \, destroy;
+#X obj 121 156 gemwin;
+#X msg 253 131 reset;
+#X msg 121 103 reset \, view 0 0 -8 0 0 0 0 1 0 \, create \, 1;
+#X obj 253 153 s mass2;
+#X text 136 -2 Simulation of a continus line of vorticity (no damping
+fluid \, 2D mouvement);
+#X text 137 25 This create a Kevin-Helmoltz instability.;
+#X connect 2 0 4 0;
+#X connect 2 1 5 0;
+#X connect 3 0 8 0;
+#X connect 7 0 8 1;
+#X connect 8 0 2 0;
+#X connect 9 0 10 0;
+#X connect 11 0 13 0;
+#X connect 12 0 10 0;
diff --git a/examples/33_vorticity_ellipse.pd b/examples/33_vorticity_ellipse.pd
new file mode 100644
index 0000000..4039558
--- /dev/null
+++ b/examples/33_vorticity_ellipse.pd
@@ -0,0 +1,369 @@
+#N canvas 71 37 562 212 10;
+#N canvas 860 482 333 427 creation 0;
+#X obj 46 380 s pd-new;
+#X msg 86 95 \; pd filename new ./ \; #N canvas \; #X pop 1 \;;
+#X msg 46 350 menuclose;
+#X obj 43 47 sel 0 1;
+#X obj 43 29 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 61 72 t b b;
+#X obj 107 272 * 20;
+#X obj 82 272 * 20;
+#X obj 76 188 t f f;
+#X obj 79 299 pack f f f;
+#X msg 79 325 obj \$1 \$2 vortex2 \$3;
+#X obj 63 163 ch_uzi 36;
+#X connect 2 0 0 0;
+#X connect 3 0 2 0;
+#X connect 3 1 5 0;
+#X connect 4 0 3 0;
+#X connect 5 0 11 0;
+#X connect 5 1 1 0;
+#X connect 6 0 9 1;
+#X connect 7 0 9 0;
+#X connect 8 0 7 0;
+#X connect 8 1 6 0;
+#X connect 8 1 9 2;
+#X connect 9 0 10 0;
+#X connect 10 0 0 0;
+#X connect 11 1 8 0;
+#X restore 426 161 pd creation pool;
+#X obj 41 131 t b b;
+#X obj 41 54 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 41 175 s mass;
+#X obj 66 156 s link;
+#X text 73 51 <- begin (change the metro speed for slow computer);
+#X floatatom 90 70 5 0 0 0 - - -;
+#X msg 179 120 0 \, destroy;
+#X obj 144 148 gemwin;
+#N canvas 790 67 586 510 pool 0;
+#X obj 380 380 vortex2;
+#X obj 287 210 vortex2;
+#X obj 347 270 vortex2;
+#X obj 0 0 vortex2;
+#X obj 10 10 vortex2;
+#X obj 20 20 vortex2;
+#X obj 30 30 vortex2;
+#X obj 40 40 vortex2;
+#X obj 50 50 vortex2;
+#X obj 60 60 vortex2;
+#X obj 70 70 vortex2;
+#X obj 80 80 vortex2;
+#X obj 90 90 vortex2;
+#X obj 100 100 vortex2;
+#X obj 110 110 vortex2;
+#X obj 120 120 vortex2;
+#X obj 130 130 vortex2;
+#X obj 140 140 vortex2;
+#X obj 150 150 vortex2;
+#X obj 160 160 vortex2;
+#X obj 170 170 vortex2;
+#X obj 180 180 vortex2;
+#X obj 190 190 vortex2;
+#X obj 200 200 vortex2;
+#X obj 210 210 vortex2;
+#X obj 220 220 vortex2;
+#X obj 230 230 vortex2;
+#X obj 240 240 vortex2;
+#X obj 250 250 vortex2;
+#X obj 260 260 vortex2;
+#X obj 270 270 vortex2;
+#X obj 280 280 vortex2;
+#X obj 290 290 vortex2;
+#X obj 300 300 vortex2;
+#X obj 310 310 vortex2;
+#X obj 320 320 vortex2;
+#X obj 330 330 vortex2;
+#X obj 340 340 vortex2;
+#X obj 350 350 vortex2;
+#X obj 360 360 vortex2;
+#X obj 370 370 vortex2;
+#X obj 87 10 vortex2;
+#X obj 97 20 vortex2;
+#X obj 107 30 vortex2;
+#X obj 117 40 vortex2;
+#X obj 127 50 vortex2;
+#X obj 137 60 vortex2;
+#X obj 147 70 vortex2;
+#X obj 157 80 vortex2;
+#X obj 167 90 vortex2;
+#X obj 177 100 vortex2;
+#X obj 187 110 vortex2;
+#X obj 197 120 vortex2;
+#X obj 207 130 vortex2;
+#X obj 217 140 vortex2;
+#X obj 227 150 vortex2;
+#X obj 237 160 vortex2;
+#X obj 247 170 vortex2;
+#X obj 257 180 vortex2;
+#X obj 267 190 vortex2;
+#X obj 277 200 vortex2;
+#X obj 297 220 vortex2;
+#X obj 307 230 vortex2;
+#X obj 317 240 vortex2;
+#X obj 327 250 vortex2;
+#X obj 337 260 vortex2;
+#X obj 357 280 vortex2;
+#X obj 367 290 vortex2;
+#X obj 377 300 vortex2;
+#X obj 387 310 vortex2;
+#X obj 397 320 vortex2;
+#X obj 407 330 vortex2;
+#X obj 417 340 vortex2;
+#X obj 427 350 vortex2;
+#X obj 437 360 vortex2;
+#X obj 447 370 vortex2;
+#X obj 457 380 vortex2;
+#X obj 467 390 vortex2;
+#X obj 541 390 vortex2;
+#X obj 161 10 vortex2;
+#X obj 171 20 vortex2;
+#X obj 181 30 vortex2;
+#X obj 191 40 vortex2;
+#X obj 201 50 vortex2;
+#X obj 211 60 vortex2;
+#X obj 221 70 vortex2;
+#X obj 231 80 vortex2;
+#X obj 241 90 vortex2;
+#X obj 251 100 vortex2;
+#X obj 261 110 vortex2;
+#X obj 271 120 vortex2;
+#X obj 281 130 vortex2;
+#X obj 291 140 vortex2;
+#X obj 301 150 vortex2;
+#X obj 311 160 vortex2;
+#X obj 321 170 vortex2;
+#X obj 331 180 vortex2;
+#X obj 341 190 vortex2;
+#X obj 351 200 vortex2;
+#X obj 361 210 vortex2;
+#X obj 371 220 vortex2;
+#X obj 381 230 vortex2;
+#X obj 391 240 vortex2;
+#X obj 401 250 vortex2;
+#X obj 411 260 vortex2;
+#X obj 421 270 vortex2;
+#X obj 431 280 vortex2;
+#X obj 441 290 vortex2;
+#X obj 451 300 vortex2;
+#X obj 461 310 vortex2;
+#X obj 471 320 vortex2;
+#X obj 481 330 vortex2;
+#X obj 491 340 vortex2;
+#X obj 501 350 vortex2;
+#X obj 511 360 vortex2;
+#X obj 521 370 vortex2;
+#X obj 531 380 vortex2;
+#X obj 248 20 vortex2;
+#X obj 258 30 vortex2;
+#X obj 268 40 vortex2;
+#X obj 278 50 vortex2;
+#X obj 288 60 vortex2;
+#X obj 298 70 vortex2;
+#X obj 308 80 vortex2;
+#X obj 318 90 vortex2;
+#X obj 328 100 vortex2;
+#X obj 338 110 vortex2;
+#X obj 348 120 vortex2;
+#X obj 358 130 vortex2;
+#X obj 368 140 vortex2;
+#X obj 378 150 vortex2;
+#X obj 388 160 vortex2;
+#X obj 398 170 vortex2;
+#X obj 408 180 vortex2;
+#X obj 418 190 vortex2;
+#X obj 428 200 vortex2;
+#X obj 438 210 vortex2;
+#X obj 448 220 vortex2;
+#X obj 458 230 vortex2;
+#X obj 468 240 vortex2;
+#X obj 478 250 vortex2;
+#X obj 488 260 vortex2;
+#X obj 498 270 vortex2;
+#X obj 508 280 vortex2;
+#X obj 518 290 vortex2;
+#X obj 528 300 vortex2;
+#X obj 538 310 vortex2;
+#X obj 548 320 vortex2;
+#X obj 558 330 vortex2;
+#X obj 568 340 vortex2;
+#X obj 578 350 vortex2;
+#X obj 588 360 vortex2;
+#X obj 598 370 vortex2;
+#X obj 608 380 vortex2;
+#X obj 618 390 vortex2;
+#X obj 628 400 vortex2;
+#X obj 1126 390 vortex2;
+#X obj 1033 220 vortex2;
+#X obj 1093 280 vortex2;
+#X obj 746 10 vortex2;
+#X obj 756 20 vortex2;
+#X obj 766 30 vortex2;
+#X obj 776 40 vortex2;
+#X obj 786 50 vortex2;
+#X obj 796 60 vortex2;
+#X obj 806 70 vortex2;
+#X obj 816 80 vortex2;
+#X obj 826 90 vortex2;
+#X obj 836 100 vortex2;
+#X obj 846 110 vortex2;
+#X obj 856 120 vortex2;
+#X obj 866 130 vortex2;
+#X obj 876 140 vortex2;
+#X obj 886 150 vortex2;
+#X obj 896 160 vortex2;
+#X obj 906 170 vortex2;
+#X obj 916 180 vortex2;
+#X obj 926 190 vortex2;
+#X obj 936 200 vortex2;
+#X obj 946 210 vortex2;
+#X obj 956 220 vortex2;
+#X obj 966 230 vortex2;
+#X obj 976 240 vortex2;
+#X obj 986 250 vortex2;
+#X obj 996 260 vortex2;
+#X obj 1006 270 vortex2;
+#X obj 1016 280 vortex2;
+#X obj 1026 290 vortex2;
+#X obj 1036 300 vortex2;
+#X obj 1046 310 vortex2;
+#X obj 1056 320 vortex2;
+#X obj 1066 330 vortex2;
+#X obj 1076 340 vortex2;
+#X obj 1086 350 vortex2;
+#X obj 1096 360 vortex2;
+#X obj 1106 370 vortex2;
+#X obj 1116 380 vortex2;
+#X obj 833 20 vortex2;
+#X obj 843 30 vortex2;
+#X obj 853 40 vortex2;
+#X obj 863 50 vortex2;
+#X obj 873 60 vortex2;
+#X obj 883 70 vortex2;
+#X obj 893 80 vortex2;
+#X obj 903 90 vortex2;
+#X obj 913 100 vortex2;
+#X obj 923 110 vortex2;
+#X obj 933 120 vortex2;
+#X obj 943 130 vortex2;
+#X obj 953 140 vortex2;
+#X obj 963 150 vortex2;
+#X obj 973 160 vortex2;
+#X obj 983 170 vortex2;
+#X obj 993 180 vortex2;
+#X obj 1003 190 vortex2;
+#X obj 1013 200 vortex2;
+#X obj 1023 210 vortex2;
+#X obj 1043 230 vortex2;
+#X obj 1053 240 vortex2;
+#X obj 1063 250 vortex2;
+#X obj 1073 260 vortex2;
+#X obj 1083 270 vortex2;
+#X obj 1103 290 vortex2;
+#X obj 1113 300 vortex2;
+#X obj 1123 310 vortex2;
+#X obj 1133 320 vortex2;
+#X obj 1143 330 vortex2;
+#X obj 1153 340 vortex2;
+#X obj 1163 350 vortex2;
+#X obj 1173 360 vortex2;
+#X obj 1183 370 vortex2;
+#X obj 1193 380 vortex2;
+#X obj 1203 390 vortex2;
+#X obj 1213 400 vortex2;
+#X obj 1287 400 vortex2;
+#X obj 907 20 vortex2;
+#X obj 917 30 vortex2;
+#X obj 927 40 vortex2;
+#X obj 937 50 vortex2;
+#X obj 947 60 vortex2;
+#X obj 957 70 vortex2;
+#X obj 967 80 vortex2;
+#X obj 977 90 vortex2;
+#X obj 987 100 vortex2;
+#X obj 997 110 vortex2;
+#X obj 1007 120 vortex2;
+#X obj 1017 130 vortex2;
+#X obj 1027 140 vortex2;
+#X obj 1037 150 vortex2;
+#X obj 1047 160 vortex2;
+#X obj 1057 170 vortex2;
+#X obj 1067 180 vortex2;
+#X obj 1077 190 vortex2;
+#X obj 1087 200 vortex2;
+#X obj 1097 210 vortex2;
+#X obj 1107 220 vortex2;
+#X obj 1117 230 vortex2;
+#X obj 1127 240 vortex2;
+#X obj 1137 250 vortex2;
+#X obj 1147 260 vortex2;
+#X obj 1157 270 vortex2;
+#X obj 1167 280 vortex2;
+#X obj 1177 290 vortex2;
+#X obj 1187 300 vortex2;
+#X obj 1197 310 vortex2;
+#X obj 1207 320 vortex2;
+#X obj 1217 330 vortex2;
+#X obj 1227 340 vortex2;
+#X obj 1237 350 vortex2;
+#X obj 1247 360 vortex2;
+#X obj 1257 370 vortex2;
+#X obj 1267 380 vortex2;
+#X obj 1277 390 vortex2;
+#X obj 994 30 vortex2;
+#X obj 1004 40 vortex2;
+#X obj 1014 50 vortex2;
+#X obj 1024 60 vortex2;
+#X obj 1034 70 vortex2;
+#X obj 1044 80 vortex2;
+#X obj 1054 90 vortex2;
+#X obj 1064 100 vortex2;
+#X obj 1074 110 vortex2;
+#X obj 1084 120 vortex2;
+#X obj 1094 130 vortex2;
+#X obj 1104 140 vortex2;
+#X obj 1114 150 vortex2;
+#X obj 1124 160 vortex2;
+#X obj 1134 170 vortex2;
+#X obj 1144 180 vortex2;
+#X obj 1154 190 vortex2;
+#X obj 1164 200 vortex2;
+#X obj 1174 210 vortex2;
+#X obj 1184 220 vortex2;
+#X obj 1194 230 vortex2;
+#X obj 1204 240 vortex2;
+#X obj 1214 250 vortex2;
+#X obj 1224 260 vortex2;
+#X obj 1234 270 vortex2;
+#X obj 1244 280 vortex2;
+#X obj 1254 290 vortex2;
+#X obj 1264 300 vortex2;
+#X obj 1274 310 vortex2;
+#X obj 1284 320 vortex2;
+#X obj 1294 330 vortex2;
+#X obj 1304 340 vortex2;
+#X obj 1314 350 vortex2;
+#X obj 1324 360 vortex2;
+#X obj 1334 370 vortex2;
+#X obj 1344 380 vortex2;
+#X obj 1354 390 vortex2;
+#X obj 1364 400 vortex2;
+#X obj 1374 410 vortex2;
+#X restore 428 135 pd pool;
+#X obj 276 145 s mass2;
+#X msg 277 124 bang;
+#X msg 144 95 reset \, view 0 0 -10 0 0 0 0 1 0 \, create \, 1;
+#X obj 41 105 metro 100;
+#X text 120 -3 simulation of a continus elipse of vorticity field.
+;
+#X text 119 14 This simulation nead lot's a masss \, and lot's of
+CPU.;
+#X connect 1 0 3 0;
+#X connect 1 1 4 0;
+#X connect 2 0 13 0;
+#X connect 6 0 13 1;
+#X connect 7 0 8 0;
+#X connect 11 0 10 0;
+#X connect 12 0 8 0;
+#X connect 13 0 1 0;
diff --git a/examples/34_cigarette_smoke.pd b/examples/34_cigarette_smoke.pd
new file mode 100644
index 0000000..6eee57b
--- /dev/null
+++ b/examples/34_cigarette_smoke.pd
@@ -0,0 +1,326 @@
+#N canvas 93 37 529 370 10;
+#N canvas 860 482 349 443 creation 0;
+#X obj 46 380 s pd-new;
+#X msg 86 95 \; pd filename new ./ \; #N canvas \; #X pop 1 \;;
+#X msg 46 350 menuclose;
+#X obj 43 47 sel 0 1;
+#X obj 43 29 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 61 72 t b b;
+#X obj 107 272 * 20;
+#X obj 82 272 * 20;
+#X obj 76 188 t f f;
+#X obj 79 299 pack f f f;
+#X obj 138 270 + 0;
+#X obj 136 223 + 0;
+#X msg 79 325 obj \$1 \$2 smoke1 \$3;
+#X obj 64 158 ch_uzi 250;
+#X connect 2 0 0 0;
+#X connect 3 0 2 0;
+#X connect 3 1 5 0;
+#X connect 4 0 3 0;
+#X connect 5 0 13 0;
+#X connect 5 1 1 0;
+#X connect 6 0 9 1;
+#X connect 7 0 9 0;
+#X connect 8 0 7 0;
+#X connect 8 1 6 0;
+#X connect 8 1 11 0;
+#X connect 9 0 12 0;
+#X connect 10 0 9 2;
+#X connect 11 0 10 0;
+#X connect 12 0 0 0;
+#X connect 13 1 8 0;
+#X restore 405 176 pd creation pool;
+#N canvas 626 84 618 542 pool 0;
+#X obj 0 0 smoke1 0;
+#X obj 20 20 smoke1 1;
+#X obj 40 40 smoke1 2;
+#X obj 60 60 smoke1 3;
+#X obj 80 80 smoke1 4;
+#X obj 100 100 smoke1 5;
+#X obj 120 120 smoke1 6;
+#X obj 140 140 smoke1 7;
+#X obj 160 160 smoke1 8;
+#X obj 180 180 smoke1 9;
+#X obj 200 200 smoke1 10;
+#X obj 220 220 smoke1 11;
+#X obj 240 240 smoke1 12;
+#X obj 260 260 smoke1 13;
+#X obj 280 280 smoke1 14;
+#X obj 300 300 smoke1 15;
+#X obj 320 320 smoke1 16;
+#X obj 340 340 smoke1 17;
+#X obj 360 360 smoke1 18;
+#X obj 380 380 smoke1 19;
+#X obj 400 400 smoke1 20;
+#X obj 420 420 smoke1 21;
+#X obj 440 440 smoke1 22;
+#X obj 460 460 smoke1 23;
+#X obj 480 480 smoke1 24;
+#X obj 500 500 smoke1 25;
+#X obj 520 520 smoke1 26;
+#X obj 540 540 smoke1 27;
+#X obj 560 560 smoke1 28;
+#X obj 580 580 smoke1 29;
+#X obj 600 600 smoke1 30;
+#X obj 620 620 smoke1 31;
+#X obj 640 640 smoke1 32;
+#X obj 660 660 smoke1 33;
+#X obj 680 680 smoke1 34;
+#X obj 700 700 smoke1 35;
+#X obj 720 720 smoke1 36;
+#X obj 740 740 smoke1 37;
+#X obj 760 760 smoke1 38;
+#X obj 780 780 smoke1 39;
+#X obj 800 800 smoke1 40;
+#X obj 820 820 smoke1 41;
+#X obj 840 840 smoke1 42;
+#X obj 860 860 smoke1 43;
+#X obj 880 880 smoke1 44;
+#X obj 900 900 smoke1 45;
+#X obj 920 920 smoke1 46;
+#X obj 940 940 smoke1 47;
+#X obj 960 960 smoke1 48;
+#X obj 980 980 smoke1 49;
+#X obj 1000 1000 smoke1 50;
+#X obj 1020 1020 smoke1 51;
+#X obj 1040 1040 smoke1 52;
+#X obj 1060 1060 smoke1 53;
+#X obj 1080 1080 smoke1 54;
+#X obj 1100 1100 smoke1 55;
+#X obj 1120 1120 smoke1 56;
+#X obj 1140 1140 smoke1 57;
+#X obj 1160 1160 smoke1 58;
+#X obj 1180 1180 smoke1 59;
+#X obj 1200 1200 smoke1 60;
+#X obj 1220 1220 smoke1 61;
+#X obj 1240 1240 smoke1 62;
+#X obj 1260 1260 smoke1 63;
+#X obj 1280 1280 smoke1 64;
+#X obj 1300 1300 smoke1 65;
+#X obj 1320 1320 smoke1 66;
+#X obj 1340 1340 smoke1 67;
+#X obj 1360 1360 smoke1 68;
+#X obj 1380 1380 smoke1 69;
+#X obj 1400 1400 smoke1 70;
+#X obj 1420 1420 smoke1 71;
+#X obj 1440 1440 smoke1 72;
+#X obj 1460 1460 smoke1 73;
+#X obj 1480 1480 smoke1 74;
+#X obj 1500 1500 smoke1 75;
+#X obj 1520 1520 smoke1 76;
+#X obj 1540 1540 smoke1 77;
+#X obj 1560 1560 smoke1 78;
+#X obj 1580 1580 smoke1 79;
+#X obj 1600 1600 smoke1 80;
+#X obj 1620 1620 smoke1 81;
+#X obj 1640 1640 smoke1 82;
+#X obj 1660 1660 smoke1 83;
+#X obj 1680 1680 smoke1 84;
+#X obj 1700 1700 smoke1 85;
+#X obj 1720 1720 smoke1 86;
+#X obj 1740 1740 smoke1 87;
+#X obj 1760 1760 smoke1 88;
+#X obj 1780 1780 smoke1 89;
+#X obj 1800 1800 smoke1 90;
+#X obj 1820 1820 smoke1 91;
+#X obj 1840 1840 smoke1 92;
+#X obj 1860 1860 smoke1 93;
+#X obj 1880 1880 smoke1 94;
+#X obj 1900 1900 smoke1 95;
+#X obj 1920 1920 smoke1 96;
+#X obj 1940 1940 smoke1 97;
+#X obj 1960 1960 smoke1 98;
+#X obj 1980 1980 smoke1 99;
+#X obj 2000 2000 smoke1 100;
+#X obj 2020 2020 smoke1 101;
+#X obj 2040 2040 smoke1 102;
+#X obj 2060 2060 smoke1 103;
+#X obj 2080 2080 smoke1 104;
+#X obj 2100 2100 smoke1 105;
+#X obj 2120 2120 smoke1 106;
+#X obj 2140 2140 smoke1 107;
+#X obj 2160 2160 smoke1 108;
+#X obj 2180 2180 smoke1 109;
+#X obj 2200 2200 smoke1 110;
+#X obj 2220 2220 smoke1 111;
+#X obj 2240 2240 smoke1 112;
+#X obj 2260 2260 smoke1 113;
+#X obj 2280 2280 smoke1 114;
+#X obj 2300 2300 smoke1 115;
+#X obj 2320 2320 smoke1 116;
+#X obj 2340 2340 smoke1 117;
+#X obj 2360 2360 smoke1 118;
+#X obj 2380 2380 smoke1 119;
+#X obj 2400 2400 smoke1 120;
+#X obj 2420 2420 smoke1 121;
+#X obj 2440 2440 smoke1 122;
+#X obj 2460 2460 smoke1 123;
+#X obj 2480 2480 smoke1 124;
+#X obj 2500 2500 smoke1 125;
+#X obj 2520 2520 smoke1 126;
+#X obj 2540 2540 smoke1 127;
+#X obj 2560 2560 smoke1 128;
+#X obj 2580 2580 smoke1 129;
+#X obj 2600 2600 smoke1 130;
+#X obj 2620 2620 smoke1 131;
+#X obj 2640 2640 smoke1 132;
+#X obj 2660 2660 smoke1 133;
+#X obj 2680 2680 smoke1 134;
+#X obj 2700 2700 smoke1 135;
+#X obj 2720 2720 smoke1 136;
+#X obj 2740 2740 smoke1 137;
+#X obj 2760 2760 smoke1 138;
+#X obj 2780 2780 smoke1 139;
+#X obj 2800 2800 smoke1 140;
+#X obj 2820 2820 smoke1 141;
+#X obj 2840 2840 smoke1 142;
+#X obj 2860 2860 smoke1 143;
+#X obj 2880 2880 smoke1 144;
+#X obj 2900 2900 smoke1 145;
+#X obj 2920 2920 smoke1 146;
+#X obj 2940 2940 smoke1 147;
+#X obj 2960 2960 smoke1 148;
+#X obj 2980 2980 smoke1 149;
+#X obj 3000 3000 smoke1 150;
+#X obj 3020 3020 smoke1 151;
+#X obj 3040 3040 smoke1 152;
+#X obj 3060 3060 smoke1 153;
+#X obj 3080 3080 smoke1 154;
+#X obj 3100 3100 smoke1 155;
+#X obj 3120 3120 smoke1 156;
+#X obj 3140 3140 smoke1 157;
+#X obj 3160 3160 smoke1 158;
+#X obj 3180 3180 smoke1 159;
+#X obj 3200 3200 smoke1 160;
+#X obj 3220 3220 smoke1 161;
+#X obj 3240 3240 smoke1 162;
+#X obj 3260 3260 smoke1 163;
+#X obj 3280 3280 smoke1 164;
+#X obj 3300 3300 smoke1 165;
+#X obj 3320 3320 smoke1 166;
+#X obj 3340 3340 smoke1 167;
+#X obj 3360 3360 smoke1 168;
+#X obj 3380 3380 smoke1 169;
+#X obj 3400 3400 smoke1 170;
+#X obj 3420 3420 smoke1 171;
+#X obj 3440 3440 smoke1 172;
+#X obj 3460 3460 smoke1 173;
+#X obj 3480 3480 smoke1 174;
+#X obj 3500 3500 smoke1 175;
+#X obj 3520 3520 smoke1 176;
+#X obj 3540 3540 smoke1 177;
+#X obj 3560 3560 smoke1 178;
+#X obj 3580 3580 smoke1 179;
+#X obj 3600 3600 smoke1 180;
+#X obj 3620 3620 smoke1 181;
+#X obj 3640 3640 smoke1 182;
+#X obj 3660 3660 smoke1 183;
+#X obj 3680 3680 smoke1 184;
+#X obj 3700 3700 smoke1 185;
+#X obj 3720 3720 smoke1 186;
+#X obj 3740 3740 smoke1 187;
+#X obj 3760 3760 smoke1 188;
+#X obj 3780 3780 smoke1 189;
+#X obj 3800 3800 smoke1 190;
+#X obj 3820 3820 smoke1 191;
+#X obj 3840 3840 smoke1 192;
+#X obj 3860 3860 smoke1 193;
+#X obj 3880 3880 smoke1 194;
+#X obj 3900 3900 smoke1 195;
+#X obj 3920 3920 smoke1 196;
+#X obj 3940 3940 smoke1 197;
+#X obj 3960 3960 smoke1 198;
+#X obj 3980 3980 smoke1 199;
+#X obj 4000 4000 smoke1 200;
+#X obj 4020 4020 smoke1 201;
+#X obj 4040 4040 smoke1 202;
+#X obj 4060 4060 smoke1 203;
+#X obj 4080 4080 smoke1 204;
+#X obj 4100 4100 smoke1 205;
+#X obj 4120 4120 smoke1 206;
+#X obj 4140 4140 smoke1 207;
+#X obj 4160 4160 smoke1 208;
+#X obj 4180 4180 smoke1 209;
+#X obj 4200 4200 smoke1 210;
+#X obj 4220 4220 smoke1 211;
+#X obj 4240 4240 smoke1 212;
+#X obj 4260 4260 smoke1 213;
+#X obj 4280 4280 smoke1 214;
+#X obj 4300 4300 smoke1 215;
+#X obj 4320 4320 smoke1 216;
+#X obj 4340 4340 smoke1 217;
+#X obj 4360 4360 smoke1 218;
+#X obj 4380 4380 smoke1 219;
+#X obj 4400 4400 smoke1 220;
+#X obj 4420 4420 smoke1 221;
+#X obj 4440 4440 smoke1 222;
+#X obj 4460 4460 smoke1 223;
+#X obj 4480 4480 smoke1 224;
+#X obj 4500 4500 smoke1 225;
+#X obj 4520 4520 smoke1 226;
+#X obj 4540 4540 smoke1 227;
+#X obj 4560 4560 smoke1 228;
+#X obj 4580 4580 smoke1 229;
+#X obj 4600 4600 smoke1 230;
+#X obj 4620 4620 smoke1 231;
+#X obj 4640 4640 smoke1 232;
+#X obj 4660 4660 smoke1 233;
+#X obj 4680 4680 smoke1 234;
+#X obj 4700 4700 smoke1 235;
+#X obj 4720 4720 smoke1 236;
+#X obj 4740 4740 smoke1 237;
+#X obj 4760 4760 smoke1 238;
+#X obj 4780 4780 smoke1 239;
+#X obj 4800 4800 smoke1 240;
+#X obj 4820 4820 smoke1 241;
+#X obj 4840 4840 smoke1 242;
+#X obj 4860 4860 smoke1 243;
+#X obj 4880 4880 smoke1 244;
+#X obj 4900 4900 smoke1 245;
+#X obj 4920 4920 smoke1 246;
+#X obj 4940 4940 smoke1 247;
+#X obj 4960 4960 smoke1 248;
+#X obj 4980 4980 smoke1 249;
+#X restore 405 150 pd pool;
+#X obj 18 146 t b b;
+#X obj 17 69 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 18 190 s mass;
+#X obj 43 171 s link;
+#X text 50 66 <- begin (change the metro speed for slow computer);
+#X floatatom 60 89 5 0 0 0 - - -;
+#X msg 242 129 0 \, destroy;
+#X obj 209 155 gemwin;
+#X obj 100 178 s reset_smoke;
+#X obj 301 189 s reset_all;
+#X obj 301 164 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 17 121 metro 20;
+#X msg 209 109 reset \, create \, 1;
+#X obj 100 154 counter 0 249;
+#X obj 100 129 metro 50;
+#X obj 90 249 iAmbient2D mass 0 0.0007 0.0002 0.0002;
+#X obj 93 277 smoke_vortex 0.003;
+#X obj 92 297 smoke_vortex 0.003;
+#X obj 91 317 smoke_vortex 0.003;
+#X obj 205 277 smoke_vortex -0.003;
+#X obj 204 297 smoke_vortex -0.003;
+#X obj 204 317 smoke_vortex -0.003;
+#X text 150 7 Cigarettes smoke simulation;
+#X text 92 29 Each particules are in some kind of turbulent wind (vertical
+force + some random mouving vortex);
+#X text 322 108 <- create;
+#X connect 2 0 4 0;
+#X connect 2 1 5 0;
+#X connect 2 1 17 0;
+#X connect 3 0 13 0;
+#X connect 3 0 16 0;
+#X connect 7 0 13 1;
+#X connect 8 0 9 0;
+#X connect 12 0 11 0;
+#X connect 13 0 2 0;
+#X connect 14 0 9 0;
+#X connect 15 0 10 0;
+#X connect 16 0 15 0;
diff --git a/examples/35_gravitation.pd b/examples/35_gravitation.pd
new file mode 100644
index 0000000..c59564b
--- /dev/null
+++ b/examples/35_gravitation.pd
@@ -0,0 +1,74 @@
+#N canvas 105 15 546 651 10;
+#X obj 18 139 t b b;
+#X obj 18 62 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 18 183 s mass;
+#X msg 242 122 0 \, destroy;
+#X obj 209 148 gemwin;
+#X obj 100 171 s reset_smoke;
+#X msg 209 102 reset \, create \, 1;
+#X obj 100 147 counter 0 249;
+#X obj 100 122 metro 50;
+#X obj 163 553 gemhead;
+#X obj 163 576 translateXYZ;
+#X obj 152 526 unpack s f f;
+#X obj 163 600 sphere 0.05;
+#X obj 208 317 gemhead;
+#X text 51 59 <- begin;
+#X obj 208 364 sphere 0.25;
+#X text 190 2 Gravitation exemple;
+#X obj 183 449 tSquare2D -4 4 -4 4;
+#X obj 183 472 sel 0;
+#X msg 183 495 reset;
+#X obj 152 237 loadbang;
+#X obj 152 287 iCircle2D foo -1 0 0 100;
+#X obj 208 340 translateXYZ -1 0 0;
+#X obj 350 318 gemhead;
+#X obj 350 365 sphere 0.25;
+#X obj 350 341 translateXYZ 1 0 0;
+#X obj 330 287 iCircle2D foo 1 0 0 100;
+#X obj 18 114 metro 1;
+#X obj 377 413 vsl 15 128 0 127 0 0 empty empty empty 0 -8 0 8 -262144
+-1 -1 0 1;
+#X obj 377 549 / 127;
+#X msg 377 570 reset \, setY \$1;
+#X obj 152 419 mass2D mass 1 0.1 0.9;
+#X text 139 15 1 earth and 2 suns .;
+#X text 139 31 The earth is attacted by the 2 suns. you can change
+the initial position of the earth \, to test the ensitivity of initial
+position of surch chaotic system.;
+#X text 286 598 change initial position of the mass;
+#X msg 330 260 setG -1e-006;
+#X msg 152 260 setG -1e-006;
+#X connect 0 0 2 0;
+#X connect 0 1 21 0;
+#X connect 0 1 26 0;
+#X connect 1 0 8 0;
+#X connect 1 0 27 0;
+#X connect 3 0 4 0;
+#X connect 6 0 4 0;
+#X connect 7 0 5 0;
+#X connect 8 0 7 0;
+#X connect 9 0 10 0;
+#X connect 10 0 12 0;
+#X connect 11 1 10 1;
+#X connect 11 2 10 2;
+#X connect 13 0 22 0;
+#X connect 17 0 18 0;
+#X connect 18 0 19 0;
+#X connect 19 0 31 0;
+#X connect 20 0 36 0;
+#X connect 20 0 35 0;
+#X connect 21 0 31 0;
+#X connect 22 0 15 0;
+#X connect 23 0 25 0;
+#X connect 25 0 24 0;
+#X connect 26 0 31 0;
+#X connect 27 0 0 0;
+#X connect 28 0 29 0;
+#X connect 29 0 30 0;
+#X connect 30 0 31 0;
+#X connect 31 0 11 0;
+#X connect 31 0 17 0;
+#X connect 35 0 26 0;
+#X connect 36 0 21 0;
diff --git a/examples/36_3D_interactors.pd b/examples/36_3D_interactors.pd
new file mode 100644
index 0000000..72ab154
--- /dev/null
+++ b/examples/36_3D_interactors.pd
@@ -0,0 +1,781 @@
+#N canvas 168 22 627 556 10;
+#X obj 22 200 t b b;
+#X obj 22 134 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 116 152 loadbang;
+#X msg 179 224 0 \, destroy;
+#X obj 22 238 s mass;
+#N canvas 39 357 765 474 pool 0;
+#X obj 180 180 rain;
+#X obj 491 103 rain;
+#X obj 566 50 rain;
+#X obj 499 52 rain;
+#X obj 0 0 rain;
+#X obj 10 10 rain;
+#X obj 20 20 rain;
+#X obj 30 30 rain;
+#X obj 40 40 rain;
+#X obj 50 50 rain;
+#X obj 60 60 rain;
+#X obj 70 70 rain;
+#X obj 80 80 rain;
+#X obj 90 90 rain;
+#X obj 100 100 rain;
+#X obj 110 110 rain;
+#X obj 120 120 rain;
+#X obj 130 130 rain;
+#X obj 140 140 rain;
+#X obj 150 150 rain;
+#X obj 160 160 rain;
+#X obj 170 170 rain;
+#X obj 190 190 rain;
+#X obj 200 200 rain;
+#X obj 210 210 rain;
+#X obj 220 220 rain;
+#X obj 230 230 rain;
+#X obj 240 240 rain;
+#X obj 250 250 rain;
+#X obj 260 260 rain;
+#X obj 270 270 rain;
+#X obj 280 280 rain;
+#X obj 290 290 rain;
+#X obj 300 300 rain;
+#X obj 310 310 rain;
+#X obj 320 320 rain;
+#X obj 330 330 rain;
+#X obj 340 340 rain;
+#X obj 350 350 rain;
+#X obj 360 360 rain;
+#X obj 370 370 rain;
+#X obj 380 380 rain;
+#X obj 390 390 rain;
+#X obj 400 400 rain;
+#X obj 410 410 rain;
+#X obj 420 420 rain;
+#X obj 430 430 rain;
+#X obj 58 -1 rain;
+#X obj 68 9 rain;
+#X obj 78 19 rain;
+#X obj 88 29 rain;
+#X obj 98 39 rain;
+#X obj 108 49 rain;
+#X obj 118 59 rain;
+#X obj 128 69 rain;
+#X obj 138 79 rain;
+#X obj 148 89 rain;
+#X obj 158 99 rain;
+#X obj 168 109 rain;
+#X obj 178 119 rain;
+#X obj 188 129 rain;
+#X obj 198 139 rain;
+#X obj 208 149 rain;
+#X obj 218 159 rain;
+#X obj 228 169 rain;
+#X obj 238 179 rain;
+#X obj 248 189 rain;
+#X obj 258 199 rain;
+#X obj 268 209 rain;
+#X obj 278 219 rain;
+#X obj 288 229 rain;
+#X obj 298 239 rain;
+#X obj 308 249 rain;
+#X obj 318 259 rain;
+#X obj 328 269 rain;
+#X obj 338 279 rain;
+#X obj 348 289 rain;
+#X obj 358 299 rain;
+#X obj 368 309 rain;
+#X obj 378 319 rain;
+#X obj 388 329 rain;
+#X obj 398 339 rain;
+#X obj 408 349 rain;
+#X obj 418 359 rain;
+#X obj 428 369 rain;
+#X obj 438 379 rain;
+#X obj 448 389 rain;
+#X obj 458 399 rain;
+#X obj 468 409 rain;
+#X obj 478 419 rain;
+#X obj 488 429 rain;
+#X obj 123 -11 rain;
+#X obj 133 -1 rain;
+#X obj 143 9 rain;
+#X obj 153 19 rain;
+#X obj 163 29 rain;
+#X obj 173 39 rain;
+#X obj 183 49 rain;
+#X obj 193 59 rain;
+#X obj 203 69 rain;
+#X obj 213 79 rain;
+#X obj 223 89 rain;
+#X obj 233 99 rain;
+#X obj 243 109 rain;
+#X obj 253 119 rain;
+#X obj 263 129 rain;
+#X obj 273 139 rain;
+#X obj 283 149 rain;
+#X obj 293 159 rain;
+#X obj 303 169 rain;
+#X obj 313 179 rain;
+#X obj 323 189 rain;
+#X obj 333 199 rain;
+#X obj 343 209 rain;
+#X obj 353 219 rain;
+#X obj 363 229 rain;
+#X obj 373 239 rain;
+#X obj 383 249 rain;
+#X obj 393 259 rain;
+#X obj 403 269 rain;
+#X obj 413 279 rain;
+#X obj 423 289 rain;
+#X obj 433 299 rain;
+#X obj 443 309 rain;
+#X obj 453 319 rain;
+#X obj 463 329 rain;
+#X obj 473 339 rain;
+#X obj 483 349 rain;
+#X obj 493 359 rain;
+#X obj 503 369 rain;
+#X obj 513 379 rain;
+#X obj 523 389 rain;
+#X obj 533 399 rain;
+#X obj 543 409 rain;
+#X obj 553 419 rain;
+#X obj 181 -12 rain;
+#X obj 191 -2 rain;
+#X obj 201 8 rain;
+#X obj 211 18 rain;
+#X obj 221 28 rain;
+#X obj 231 38 rain;
+#X obj 241 48 rain;
+#X obj 251 58 rain;
+#X obj 261 68 rain;
+#X obj 271 78 rain;
+#X obj 281 88 rain;
+#X obj 291 98 rain;
+#X obj 301 108 rain;
+#X obj 311 118 rain;
+#X obj 321 128 rain;
+#X obj 331 138 rain;
+#X obj 341 148 rain;
+#X obj 351 158 rain;
+#X obj 361 168 rain;
+#X obj 371 178 rain;
+#X obj 381 188 rain;
+#X obj 391 198 rain;
+#X obj 401 208 rain;
+#X obj 411 218 rain;
+#X obj 421 228 rain;
+#X obj 431 238 rain;
+#X obj 441 248 rain;
+#X obj 451 258 rain;
+#X obj 461 268 rain;
+#X obj 471 278 rain;
+#X obj 481 288 rain;
+#X obj 491 298 rain;
+#X obj 501 308 rain;
+#X obj 511 318 rain;
+#X obj 521 328 rain;
+#X obj 531 338 rain;
+#X obj 541 348 rain;
+#X obj 551 358 rain;
+#X obj 561 368 rain;
+#X obj 571 378 rain;
+#X obj 581 388 rain;
+#X obj 591 398 rain;
+#X obj 601 408 rain;
+#X obj 611 418 rain;
+#X obj 258 4 rain;
+#X obj 268 14 rain;
+#X obj 278 24 rain;
+#X obj 288 34 rain;
+#X obj 298 44 rain;
+#X obj 308 54 rain;
+#X obj 318 64 rain;
+#X obj 328 74 rain;
+#X obj 338 84 rain;
+#X obj 348 94 rain;
+#X obj 358 104 rain;
+#X obj 368 114 rain;
+#X obj 378 124 rain;
+#X obj 388 134 rain;
+#X obj 398 144 rain;
+#X obj 408 154 rain;
+#X obj 418 164 rain;
+#X obj 428 174 rain;
+#X obj 438 184 rain;
+#X obj 448 194 rain;
+#X obj 458 204 rain;
+#X obj 468 214 rain;
+#X obj 478 224 rain;
+#X obj 488 234 rain;
+#X obj 498 244 rain;
+#X obj 508 254 rain;
+#X obj 518 264 rain;
+#X obj 528 274 rain;
+#X obj 538 284 rain;
+#X obj 548 294 rain;
+#X obj 558 304 rain;
+#X obj 568 314 rain;
+#X obj 578 324 rain;
+#X obj 588 334 rain;
+#X obj 598 344 rain;
+#X obj 608 354 rain;
+#X obj 618 364 rain;
+#X obj 628 374 rain;
+#X obj 638 384 rain;
+#X obj 648 394 rain;
+#X obj 658 404 rain;
+#X obj 668 414 rain;
+#X obj 678 424 rain;
+#X obj 688 434 rain;
+#X obj 316 3 rain;
+#X obj 326 13 rain;
+#X obj 336 23 rain;
+#X obj 346 33 rain;
+#X obj 356 43 rain;
+#X obj 366 53 rain;
+#X obj 376 63 rain;
+#X obj 386 73 rain;
+#X obj 396 83 rain;
+#X obj 406 93 rain;
+#X obj 416 103 rain;
+#X obj 426 113 rain;
+#X obj 436 123 rain;
+#X obj 446 133 rain;
+#X obj 456 143 rain;
+#X obj 466 153 rain;
+#X obj 476 163 rain;
+#X obj 486 173 rain;
+#X obj 496 183 rain;
+#X obj 506 193 rain;
+#X obj 516 203 rain;
+#X obj 526 213 rain;
+#X obj 536 223 rain;
+#X obj 546 233 rain;
+#X obj 556 243 rain;
+#X obj 566 253 rain;
+#X obj 576 263 rain;
+#X obj 586 273 rain;
+#X obj 596 283 rain;
+#X obj 606 293 rain;
+#X obj 616 303 rain;
+#X obj 626 313 rain;
+#X obj 636 323 rain;
+#X obj 646 333 rain;
+#X obj 656 343 rain;
+#X obj 666 353 rain;
+#X obj 676 363 rain;
+#X obj 686 373 rain;
+#X obj 696 383 rain;
+#X obj 706 393 rain;
+#X obj 716 403 rain;
+#X obj 726 413 rain;
+#X obj 736 423 rain;
+#X obj 746 433 rain;
+#X obj 381 -7 rain;
+#X obj 391 3 rain;
+#X obj 401 13 rain;
+#X obj 411 23 rain;
+#X obj 421 33 rain;
+#X obj 431 43 rain;
+#X obj 441 53 rain;
+#X obj 451 63 rain;
+#X obj 461 73 rain;
+#X obj 471 83 rain;
+#X obj 481 93 rain;
+#X obj 501 113 rain;
+#X obj 511 123 rain;
+#X obj 521 133 rain;
+#X obj 531 143 rain;
+#X obj 541 153 rain;
+#X obj 551 163 rain;
+#X obj 561 173 rain;
+#X obj 571 183 rain;
+#X obj 581 193 rain;
+#X obj 591 203 rain;
+#X obj 601 213 rain;
+#X obj 611 223 rain;
+#X obj 621 233 rain;
+#X obj 631 243 rain;
+#X obj 641 253 rain;
+#X obj 651 263 rain;
+#X obj 661 273 rain;
+#X obj 671 283 rain;
+#X obj 681 293 rain;
+#X obj 691 303 rain;
+#X obj 701 313 rain;
+#X obj 711 323 rain;
+#X obj 721 333 rain;
+#X obj 731 343 rain;
+#X obj 741 353 rain;
+#X obj 751 363 rain;
+#X obj 761 373 rain;
+#X obj 771 383 rain;
+#X obj 781 393 rain;
+#X obj 791 403 rain;
+#X obj 801 413 rain;
+#X obj 811 423 rain;
+#X obj 439 -8 rain;
+#X obj 449 2 rain;
+#X obj 459 12 rain;
+#X obj 469 22 rain;
+#X obj 479 32 rain;
+#X obj 489 42 rain;
+#X obj 509 62 rain;
+#X obj 519 72 rain;
+#X obj 529 82 rain;
+#X obj 539 92 rain;
+#X obj 549 102 rain;
+#X obj 559 112 rain;
+#X obj 569 122 rain;
+#X obj 579 132 rain;
+#X obj 589 142 rain;
+#X obj 599 152 rain;
+#X obj 609 162 rain;
+#X obj 619 172 rain;
+#X obj 629 182 rain;
+#X obj 639 192 rain;
+#X obj 649 202 rain;
+#X obj 659 212 rain;
+#X obj 669 222 rain;
+#X obj 679 232 rain;
+#X obj 689 242 rain;
+#X obj 699 252 rain;
+#X obj 709 262 rain;
+#X obj 719 272 rain;
+#X obj 729 282 rain;
+#X obj 739 292 rain;
+#X obj 749 302 rain;
+#X obj 759 312 rain;
+#X obj 769 322 rain;
+#X obj 779 332 rain;
+#X obj 789 342 rain;
+#X obj 799 352 rain;
+#X obj 809 362 rain;
+#X obj 819 372 rain;
+#X obj 829 382 rain;
+#X obj 839 392 rain;
+#X obj 849 402 rain;
+#X obj 859 412 rain;
+#X obj 869 422 rain;
+#X obj 476 -40 rain;
+#X obj 486 -30 rain;
+#X obj 496 -20 rain;
+#X obj 506 -10 rain;
+#X obj 516 0 rain;
+#X obj 526 10 rain;
+#X obj 536 20 rain;
+#X obj 546 30 rain;
+#X obj 556 40 rain;
+#X obj 576 60 rain;
+#X obj 586 70 rain;
+#X obj 596 80 rain;
+#X obj 606 90 rain;
+#X obj 616 100 rain;
+#X obj 626 110 rain;
+#X obj 636 120 rain;
+#X obj 646 130 rain;
+#X obj 656 140 rain;
+#X obj 666 150 rain;
+#X obj 676 160 rain;
+#X obj 686 170 rain;
+#X obj 696 180 rain;
+#X obj 706 190 rain;
+#X obj 716 200 rain;
+#X obj 726 210 rain;
+#X obj 736 220 rain;
+#X obj 746 230 rain;
+#X obj 756 240 rain;
+#X obj 766 250 rain;
+#X obj 776 260 rain;
+#X obj 786 270 rain;
+#X obj 796 280 rain;
+#X obj 806 290 rain;
+#X obj 816 300 rain;
+#X obj 826 310 rain;
+#X obj 836 320 rain;
+#X obj 846 330 rain;
+#X obj 856 340 rain;
+#X obj 866 350 rain;
+#X obj 876 360 rain;
+#X obj 886 370 rain;
+#X obj 896 380 rain;
+#X obj 906 390 rain;
+#X obj 534 -41 rain;
+#X obj 544 -31 rain;
+#X obj 554 -21 rain;
+#X obj 564 -11 rain;
+#X obj 574 -1 rain;
+#X obj 584 9 rain;
+#X obj 594 19 rain;
+#X obj 604 29 rain;
+#X obj 614 39 rain;
+#X obj 624 49 rain;
+#X obj 634 59 rain;
+#X obj 644 69 rain;
+#X obj 654 79 rain;
+#X obj 664 89 rain;
+#X obj 674 99 rain;
+#X obj 684 109 rain;
+#X obj 694 119 rain;
+#X obj 704 129 rain;
+#X obj 714 139 rain;
+#X obj 724 149 rain;
+#X obj 734 159 rain;
+#X obj 744 169 rain;
+#X obj 754 179 rain;
+#X obj 764 189 rain;
+#X obj 774 199 rain;
+#X obj 784 209 rain;
+#X obj 794 219 rain;
+#X obj 804 229 rain;
+#X obj 814 239 rain;
+#X obj 824 249 rain;
+#X obj 834 259 rain;
+#X obj 844 269 rain;
+#X obj 854 279 rain;
+#X obj 864 289 rain;
+#X obj 874 299 rain;
+#X obj 884 309 rain;
+#X obj 894 319 rain;
+#X obj 904 329 rain;
+#X obj 914 339 rain;
+#X obj 924 349 rain;
+#X obj 934 359 rain;
+#X obj 944 369 rain;
+#X obj 954 379 rain;
+#X obj 964 389 rain;
+#X obj 599 -51 rain;
+#X obj 609 -41 rain;
+#X obj 619 -31 rain;
+#X obj 629 -21 rain;
+#X obj 639 -11 rain;
+#X obj 649 -1 rain;
+#X obj 659 9 rain;
+#X obj 669 19 rain;
+#X obj 679 29 rain;
+#X obj 689 39 rain;
+#X obj 699 49 rain;
+#X obj 709 59 rain;
+#X obj 719 69 rain;
+#X obj 729 79 rain;
+#X obj 739 89 rain;
+#X obj 749 99 rain;
+#X obj 759 109 rain;
+#X obj 769 119 rain;
+#X obj 779 129 rain;
+#X obj 789 139 rain;
+#X obj 799 149 rain;
+#X obj 809 159 rain;
+#X obj 819 169 rain;
+#X obj 829 179 rain;
+#X obj 839 189 rain;
+#X obj 849 199 rain;
+#X obj 859 209 rain;
+#X obj 869 219 rain;
+#X obj 879 229 rain;
+#X obj 889 239 rain;
+#X obj 899 249 rain;
+#X obj 909 259 rain;
+#X obj 919 269 rain;
+#X obj 929 279 rain;
+#X obj 939 289 rain;
+#X obj 949 299 rain;
+#X obj 959 309 rain;
+#X obj 969 319 rain;
+#X obj 979 329 rain;
+#X obj 989 339 rain;
+#X obj 999 349 rain;
+#X obj 1009 359 rain;
+#X obj 1019 369 rain;
+#X obj 1029 379 rain;
+#X obj 657 -52 rain;
+#X obj 667 -42 rain;
+#X obj 677 -32 rain;
+#X obj 687 -22 rain;
+#X obj 697 -12 rain;
+#X obj 707 -2 rain;
+#X obj 717 8 rain;
+#X obj 727 18 rain;
+#X obj 737 28 rain;
+#X obj 747 38 rain;
+#X obj 757 48 rain;
+#X obj 767 58 rain;
+#X obj 777 68 rain;
+#X obj 787 78 rain;
+#X obj 797 88 rain;
+#X obj 807 98 rain;
+#X obj 817 108 rain;
+#X obj 827 118 rain;
+#X obj 837 128 rain;
+#X obj 847 138 rain;
+#X obj 857 148 rain;
+#X obj 867 158 rain;
+#X obj 877 168 rain;
+#X obj 887 178 rain;
+#X obj 897 188 rain;
+#X obj 907 198 rain;
+#X obj 917 208 rain;
+#X obj 927 218 rain;
+#X obj 937 228 rain;
+#X obj 947 238 rain;
+#X obj 957 248 rain;
+#X obj 967 258 rain;
+#X obj 977 268 rain;
+#X obj 987 278 rain;
+#X obj 997 288 rain;
+#X obj 1007 298 rain;
+#X obj 1017 308 rain;
+#X obj 1027 318 rain;
+#X obj 1037 328 rain;
+#X obj 1047 338 rain;
+#X obj 1057 348 rain;
+#X obj 1067 358 rain;
+#X obj 1077 368 rain;
+#X obj 1087 378 rain;
+#X obj 734 -36 rain;
+#X obj 744 -26 rain;
+#X obj 754 -16 rain;
+#X obj 764 -6 rain;
+#X obj 774 4 rain;
+#X obj 784 14 rain;
+#X obj 794 24 rain;
+#X obj 804 34 rain;
+#X obj 814 44 rain;
+#X obj 824 54 rain;
+#X obj 834 64 rain;
+#X obj 844 74 rain;
+#X obj 854 84 rain;
+#X obj 864 94 rain;
+#X obj 874 104 rain;
+#X obj 884 114 rain;
+#X obj 894 124 rain;
+#X obj 904 134 rain;
+#X obj 914 144 rain;
+#X obj 924 154 rain;
+#X obj 934 164 rain;
+#X obj 944 174 rain;
+#X obj 954 184 rain;
+#X obj 964 194 rain;
+#X obj 974 204 rain;
+#X obj 984 214 rain;
+#X obj 994 224 rain;
+#X obj 1004 234 rain;
+#X obj 1014 244 rain;
+#X obj 1024 254 rain;
+#X obj 1034 264 rain;
+#X obj 1044 274 rain;
+#X obj 1054 284 rain;
+#X obj 1064 294 rain;
+#X obj 1074 304 rain;
+#X obj 1084 314 rain;
+#X obj 1094 324 rain;
+#X obj 1104 334 rain;
+#X obj 1114 344 rain;
+#X obj 1124 354 rain;
+#X obj 1134 364 rain;
+#X obj 1144 374 rain;
+#X obj 1154 384 rain;
+#X obj 1164 394 rain;
+#X obj 792 -37 rain;
+#X obj 802 -27 rain;
+#X obj 812 -17 rain;
+#X obj 822 -7 rain;
+#X obj 832 3 rain;
+#X obj 842 13 rain;
+#X obj 852 23 rain;
+#X obj 862 33 rain;
+#X obj 872 43 rain;
+#X obj 882 53 rain;
+#X obj 892 63 rain;
+#X obj 902 73 rain;
+#X obj 912 83 rain;
+#X obj 922 93 rain;
+#X obj 932 103 rain;
+#X obj 942 113 rain;
+#X obj 952 123 rain;
+#X obj 962 133 rain;
+#X obj 972 143 rain;
+#X obj 982 153 rain;
+#X obj 992 163 rain;
+#X obj 1002 173 rain;
+#X obj 1012 183 rain;
+#X obj 1022 193 rain;
+#X obj 1032 203 rain;
+#X obj 1042 213 rain;
+#X obj 1052 223 rain;
+#X obj 1062 233 rain;
+#X obj 1072 243 rain;
+#X obj 1082 253 rain;
+#X obj 1092 263 rain;
+#X obj 1102 273 rain;
+#X obj 1112 283 rain;
+#X obj 1122 293 rain;
+#X obj 1132 303 rain;
+#X obj 1142 313 rain;
+#X obj 1152 323 rain;
+#X obj 1162 333 rain;
+#X obj 1172 343 rain;
+#X obj 1182 353 rain;
+#X obj 1192 363 rain;
+#X obj 1202 373 rain;
+#X obj 1212 383 rain;
+#X obj 1222 393 rain;
+#X obj 857 -47 rain;
+#X obj 867 -37 rain;
+#X obj 877 -27 rain;
+#X obj 887 -17 rain;
+#X obj 897 -7 rain;
+#X obj 907 3 rain;
+#X obj 917 13 rain;
+#X obj 927 23 rain;
+#X obj 937 33 rain;
+#X obj 947 43 rain;
+#X obj 957 53 rain;
+#X obj 967 63 rain;
+#X obj 977 73 rain;
+#X obj 987 83 rain;
+#X obj 997 93 rain;
+#X obj 1007 103 rain;
+#X obj 1017 113 rain;
+#X obj 1027 123 rain;
+#X obj 1037 133 rain;
+#X obj 1047 143 rain;
+#X obj 1057 153 rain;
+#X obj 1067 163 rain;
+#X obj 1077 173 rain;
+#X obj 1087 183 rain;
+#X obj 1097 193 rain;
+#X obj 1107 203 rain;
+#X obj 1117 213 rain;
+#X obj 1127 223 rain;
+#X obj 1137 233 rain;
+#X obj 1147 243 rain;
+#X obj 1157 253 rain;
+#X obj 1167 263 rain;
+#X obj 1177 273 rain;
+#X obj 1187 283 rain;
+#X obj 1197 293 rain;
+#X obj 1207 303 rain;
+#X obj 1217 313 rain;
+#X obj 1227 323 rain;
+#X obj 1237 333 rain;
+#X obj 1247 343 rain;
+#X obj 1257 353 rain;
+#X obj 1267 363 rain;
+#X obj 1277 373 rain;
+#X obj 1287 383 rain;
+#X obj 915 -48 rain;
+#X obj 925 -38 rain;
+#X obj 935 -28 rain;
+#X obj 945 -18 rain;
+#X obj 955 -8 rain;
+#X obj 965 2 rain;
+#X obj 975 12 rain;
+#X obj 985 22 rain;
+#X obj 995 32 rain;
+#X obj 1005 42 rain;
+#X obj 1015 52 rain;
+#X obj 1025 62 rain;
+#X obj 1035 72 rain;
+#X obj 1045 82 rain;
+#X obj 1055 92 rain;
+#X obj 1065 102 rain;
+#X obj 1075 112 rain;
+#X obj 1085 122 rain;
+#X obj 1095 132 rain;
+#X obj 1105 142 rain;
+#X obj 1115 152 rain;
+#X obj 1125 162 rain;
+#X obj 1135 172 rain;
+#X obj 1145 182 rain;
+#X obj 1155 192 rain;
+#X obj 1165 202 rain;
+#X obj 1175 212 rain;
+#X obj 1185 222 rain;
+#X obj 1195 232 rain;
+#X obj 1205 242 rain;
+#X obj 1215 252 rain;
+#X obj 1225 262 rain;
+#X obj 1235 272 rain;
+#X obj 1245 282 rain;
+#X obj 1255 292 rain;
+#X obj 1265 302 rain;
+#X obj 1275 312 rain;
+#X obj 1285 322 rain;
+#X obj 1295 332 rain;
+#X obj 1305 342 rain;
+#X obj 1315 352 rain;
+#X obj 1325 362 rain;
+#X obj 1335 372 rain;
+#X obj 1345 382 rain;
+#X restore 469 479 pd pool;
+#X obj 116 200 s mass;
+#X obj 84 327 s link;
+#X text 43 132 <- begin (change metro speed for slow computer);
+#X obj 472 300 alpha;
+#X msg 533 406 30;
+#X obj 533 385 loadbang;
+#X obj 472 356 translateXYZ 0 -2 0;
+#X obj 22 173 metro 30;
+#X obj 472 431 sphere 1.95;
+#X floatatom 65 150 5 0 0 0 - - -;
+#X obj 48 428 gemhead;
+#X obj 48 452 color 1 0 0;
+#X obj 472 271 gemhead 55;
+#X obj 472 329 color 1 1 1 0.7;
+#X msg 170 200 reset \, view -3 3 6 0 0 0 0 4 0 \, lighting 1 \, create
+\, 1;
+#X obj 48 499 rotateXYZ 90 0 0;
+#X obj 48 523 square 6;
+#X obj 48 476 translateXYZ 0 -3.05 0;
+#X obj 267 464 gemhead 1;
+#X obj 267 489 rotateXYZ -80 0 0;
+#X obj 267 517 world_light;
+#X text 210 175 <- reset the simulation;
+#X text 194 6 infinit small particules on an elipse.;
+#X obj 46 374 iSphere3D mass 0 -2 0 0 2 0 0.1 0 0.1;
+#X obj 66 351 iAmbient3D mass 0 -0.001 0 1e-006 1e-007 1e-006 O.OOO1
+;
+#X msg 116 176 reset \, setT 1;
+#X obj 170 324 ch_gemwin;
+#X obj 189 255 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 0 1;
+#X obj 205 279 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 0 1;
+#X obj 222 302 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 0 1;
+#X text 77 62 click on the gem windows to rotate the view point (middle
+clik to set the distance to the object). You can also change the position
+of the camera with slider if mouse does not work;
+#X text 268 237 camera position;
+#X text 79 30 Masses don't interact each other. They interact with
+the sphere \, and the gravity field.;
+#X text 513 199 <- 1;
+#X connect 0 0 4 0;
+#X connect 0 1 7 0;
+#X connect 0 1 29 0;
+#X connect 0 1 30 0;
+#X connect 1 0 13 0;
+#X connect 2 0 31 0;
+#X connect 3 0 32 0;
+#X connect 9 0 19 0;
+#X connect 10 0 14 2;
+#X connect 11 0 10 0;
+#X connect 12 0 14 0;
+#X connect 13 0 0 0;
+#X connect 15 0 13 1;
+#X connect 16 0 17 0;
+#X connect 17 0 23 0;
+#X connect 18 0 9 0;
+#X connect 19 0 12 0;
+#X connect 20 0 32 0;
+#X connect 21 0 22 0;
+#X connect 23 0 21 0;
+#X connect 24 0 25 0;
+#X connect 25 0 26 0;
+#X connect 31 0 6 0;
+#X connect 33 0 32 1;
+#X connect 34 0 32 2;
+#X connect 35 0 32 3;
diff --git a/examples/37_hollywood_planette_explosion.pd b/examples/37_hollywood_planette_explosion.pd
new file mode 100644
index 0000000..887b17d
--- /dev/null
+++ b/examples/37_hollywood_planette_explosion.pd
@@ -0,0 +1,480 @@
+#N canvas 457 291 671 403 10;
+#X obj 19 108 t b b;
+#X obj 19 42 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1
+;
+#X obj 177 289 loadbang;
+#X msg 323 137 0 \, destroy;
+#X obj 19 146 s mass;
+#N canvas 39 357 1063 565 pool 0;
+#X obj 294 191 explose2;
+#X obj 104 1 explose2;
+#X obj 114 11 explose2;
+#X obj 124 21 explose2;
+#X obj 134 31 explose2;
+#X obj 144 41 explose2;
+#X obj 154 51 explose2;
+#X obj 164 61 explose2;
+#X obj 174 71 explose2;
+#X obj 184 81 explose2;
+#X obj 194 91 explose2;
+#X obj 204 101 explose2;
+#X obj 214 111 explose2;
+#X obj 224 121 explose2;
+#X obj 234 131 explose2;
+#X obj 244 141 explose2;
+#X obj 254 151 explose2;
+#X obj 264 161 explose2;
+#X obj 274 171 explose2;
+#X obj 284 181 explose2;
+#X obj 304 201 explose2;
+#X obj 314 211 explose2;
+#X obj 324 221 explose2;
+#X obj 334 231 explose2;
+#X obj 344 241 explose2;
+#X obj 354 251 explose2;
+#X obj 364 261 explose2;
+#X obj 374 271 explose2;
+#X obj 459 191 explose2;
+#X obj 269 1 explose2;
+#X obj 279 11 explose2;
+#X obj 289 21 explose2;
+#X obj 299 31 explose2;
+#X obj 309 41 explose2;
+#X obj 319 51 explose2;
+#X obj 329 61 explose2;
+#X obj 339 71 explose2;
+#X obj 349 81 explose2;
+#X obj 359 91 explose2;
+#X obj 369 101 explose2;
+#X obj 379 111 explose2;
+#X obj 389 121 explose2;
+#X obj 399 131 explose2;
+#X obj 409 141 explose2;
+#X obj 419 151 explose2;
+#X obj 429 161 explose2;
+#X obj 439 171 explose2;
+#X obj 449 181 explose2;
+#X obj 469 201 explose2;
+#X obj 479 211 explose2;
+#X obj 489 221 explose2;
+#X obj 499 231 explose2;
+#X obj 509 241 explose2;
+#X obj 519 251 explose2;
+#X obj 529 261 explose2;
+#X obj 539 271 explose2;
+#X obj 638 200 explose2;
+#X obj 448 10 explose2;
+#X obj 458 20 explose2;
+#X obj 468 30 explose2;
+#X obj 478 40 explose2;
+#X obj 488 50 explose2;
+#X obj 498 60 explose2;
+#X obj 508 70 explose2;
+#X obj 518 80 explose2;
+#X obj 528 90 explose2;
+#X obj 538 100 explose2;
+#X obj 548 110 explose2;
+#X obj 558 120 explose2;
+#X obj 568 130 explose2;
+#X obj 578 140 explose2;
+#X obj 588 150 explose2;
+#X obj 598 160 explose2;
+#X obj 608 170 explose2;
+#X obj 618 180 explose2;
+#X obj 628 190 explose2;
+#X obj 648 210 explose2;
+#X obj 658 220 explose2;
+#X obj 668 230 explose2;
+#X obj 678 240 explose2;
+#X obj 688 250 explose2;
+#X obj 698 260 explose2;
+#X obj 708 270 explose2;
+#X obj 718 280 explose2;
+#X obj 803 200 explose2;
+#X obj 613 10 explose2;
+#X obj 623 20 explose2;
+#X obj 633 30 explose2;
+#X obj 643 40 explose2;
+#X obj 653 50 explose2;
+#X obj 663 60 explose2;
+#X obj 673 70 explose2;
+#X obj 683 80 explose2;
+#X obj 693 90 explose2;
+#X obj 703 100 explose2;
+#X obj 713 110 explose2;
+#X obj 723 120 explose2;
+#X obj 733 130 explose2;
+#X obj 743 140 explose2;
+#X obj 753 150 explose2;
+#X obj 763 160 explose2;
+#X obj 773 170 explose2;
+#X obj 783 180 explose2;
+#X obj 793 190 explose2;
+#X obj 813 210 explose2;
+#X obj 823 220 explose2;
+#X obj 833 230 explose2;
+#X obj 843 240 explose2;
+#X obj 853 250 explose2;
+#X obj 863 260 explose2;
+#X obj 873 270 explose2;
+#X obj 883 280 explose2;
+#X obj 321 379 explose1;
+#X obj 461 441 explose2;
+#X obj 401 381 explose2;
+#X obj 411 391 explose2;
+#X obj 421 401 explose2;
+#X obj 431 411 explose2;
+#X obj 441 421 explose2;
+#X obj 451 431 explose2;
+#X obj 471 451 explose2;
+#X obj 481 461 explose2;
+#X obj 491 471 explose2;
+#X obj 501 481 explose2;
+#X obj 511 491 explose2;
+#X obj 521 501 explose2;
+#X obj 531 511 explose2;
+#X obj 541 521 explose2;
+#X obj 626 441 explose2;
+#X obj 566 381 explose2;
+#X obj 576 391 explose2;
+#X obj 586 401 explose2;
+#X obj 596 411 explose2;
+#X obj 606 421 explose2;
+#X obj 616 431 explose2;
+#X obj 636 451 explose2;
+#X obj 646 461 explose2;
+#X obj 656 471 explose2;
+#X obj 666 481 explose2;
+#X obj 676 491 explose2;
+#X obj 686 501 explose2;
+#X obj 696 511 explose2;
+#X obj 706 521 explose2;
+#X obj 805 450 explose2;
+#X obj 735 380 explose2;
+#X obj 745 390 explose2;
+#X obj 755 400 explose2;
+#X obj 765 410 explose2;
+#X obj 775 420 explose2;
+#X obj 785 430 explose2;
+#X obj 795 440 explose2;
+#X obj 815 460 explose2;
+#X obj 825 470 explose2;
+#X obj 835 480 explose2;
+#X obj 845 490 explose2;
+#X obj 855 500 explose2;
+#X obj 865 510 explose2;
+#X obj 875 520 explose2;
+#X obj 885 530 explose2;
+#X obj 970 450 explose2;
+#X obj 900 380 explose2;
+#X obj 910 390 explose2;
+#X obj 920 400 explose2;
+#X obj 930 410 explose2;
+#X obj 940 420 explose2;
+#X obj 950 430 explose2;
+#X obj 960 440 explose2;
+#X obj 980 460 explose2;
+#X obj 990 470 explose2;
+#X obj 1000 480 explose2;
+#X obj 1010 490 explose2;
+#X obj 1020 500 explose2;
+#X obj 1030 510 explose2;
+#X obj 1040 520 explose2;
+#X obj 1050 530 explose2;
+#X obj 24 -1 explose1;
+#X obj 34 9 explose1;
+#X obj 44 19 explose1;
+#X obj 54 29 explose1;
+#X obj 64 39 explose1;
+#X obj 74 49 explose1;
+#X obj 84 59 explose1;
+#X obj 94 69 explose1;
+#X obj 104 79 explose1;
+#X obj 114 89 explose1;
+#X obj 124 99 explose1;
+#X obj 134 109 explose1;
+#X obj 144 119 explose1;
+#X obj 154 129 explose1;
+#X obj 164 139 explose1;
+#X obj 174 149 explose1;
+#X obj 184 159 explose1;
+#X obj 194 169 explose1;
+#X obj 204 179 explose1;
+#X obj 214 189 explose1;
+#X obj 224 199 explose1;
+#X obj 234 209 explose1;
+#X obj 244 219 explose1;
+#X obj 254 229 explose1;
+#X obj 264 239 explose1;
+#X obj 274 249 explose1;
+#X obj 284 259 explose1;
+#X obj 294 269 explose1;
+#X obj 304 279 explose1;
+#X obj 314 289 explose1;
+#X obj 324 299 explose1;
+#X obj 334 309 explose1;
+#X obj 344 319 explose1;
+#X obj 354 329 explose1;
+#X obj 364 339 explose1;
+#X obj 374 349 explose1;
+#X obj 384 359 explose1;
+#X obj 189 -1 explose1;
+#X obj 199 9 explose1;
+#X obj 209 19 explose1;
+#X obj 219 29 explose1;
+#X obj 229 39 explose1;
+#X obj 239 49 explose1;
+#X obj 249 59 explose1;
+#X obj 259 69 explose1;
+#X obj 269 79 explose1;
+#X obj 279 89 explose1;
+#X obj 289 99 explose1;
+#X obj 299 109 explose1;
+#X obj 309 119 explose1;
+#X obj 319 129 explose1;
+#X obj 329 139 explose1;
+#X obj 339 149 explose1;
+#X obj 349 159 explose1;
+#X obj 359 169 explose1;
+#X obj 369 179 explose1;
+#X obj 379 189 explose1;
+#X obj 389 199 explose1;
+#X obj 399 209 explose1;
+#X obj 409 219 explose1;
+#X obj 419 229 explose1;
+#X obj 429 239 explose1;
+#X obj 439 249 explose1;
+#X obj 449 259 explose1;
+#X obj 459 269 explose1;
+#X obj 469 279 explose1;
+#X obj 479 289 explose1;
+#X obj 489 299 explose1;
+#X obj 499 309 explose1;
+#X obj 509 319 explose1;
+#X obj 519 329 explose1;
+#X obj 529 339 explose1;
+#X obj 539 349 explose1;
+#X obj 549 359 explose1;
+#X obj 368 8 explose1;
+#X obj 378 18 explose1;
+#X obj 388 28 explose1;
+#X obj 398 38 explose1;
+#X obj 408 48 explose1;
+#X obj 418 58 explose1;
+#X obj 428 68 explose1;
+#X obj 438 78 explose1;
+#X obj 448 88 explose1;
+#X obj 458 98 explose1;
+#X obj 468 108 explose1;
+#X obj 478 118 explose1;
+#X obj 488 128 explose1;
+#X obj 498 138 explose1;
+#X obj 508 148 explose1;
+#X obj 518 158 explose1;
+#X obj 528 168 explose1;
+#X obj 538 178 explose1;
+#X obj 548 188 explose1;
+#X obj 558 198 explose1;
+#X obj 568 208 explose1;
+#X obj 578 218 explose1;
+#X obj 588 228 explose1;
+#X obj 598 238 explose1;
+#X obj 608 248 explose1;
+#X obj 618 258 explose1;
+#X obj 628 268 explose1;
+#X obj 638 278 explose1;
+#X obj 648 288 explose1;
+#X obj 658 298 explose1;
+#X obj 668 308 explose1;
+#X obj 678 318 explose1;
+#X obj 688 328 explose1;
+#X obj 698 338 explose1;
+#X obj 708 348 explose1;
+#X obj 718 358 explose1;
+#X obj 728 368 explose1;
+#X obj 533 8 explose1;
+#X obj 543 18 explose1;
+#X obj 553 28 explose1;
+#X obj 563 38 explose1;
+#X obj 573 48 explose1;
+#X obj 583 58 explose1;
+#X obj 593 68 explose1;
+#X obj 603 78 explose1;
+#X obj 613 88 explose1;
+#X obj 623 98 explose1;
+#X obj 633 108 explose1;
+#X obj 643 118 explose1;
+#X obj 653 128 explose1;
+#X obj 663 138 explose1;
+#X obj 673 148 explose1;
+#X obj 683 158 explose1;
+#X obj 693 168 explose1;
+#X obj 703 178 explose1;
+#X obj 713 188 explose1;
+#X obj 723 198 explose1;
+#X obj 733 208 explose1;
+#X obj 743 218 explose1;
+#X obj 753 228 explose1;
+#X obj 763 238 explose1;
+#X obj 773 248 explose1;
+#X obj 783 258 explose1;
+#X obj 793 268 explose1;
+#X obj 803 278 explose1;
+#X obj 813 288 explose1;
+#X obj 823 298 explose1;
+#X obj 833 308 explose1;
+#X obj 843 318 explose1;
+#X obj 853 328 explose1;
+#X obj 863 338 explose1;
+#X obj 873 348 explose1;
+#X obj 883 358 explose1;
+#X obj 893 368 explose1;
+#X obj 331 389 explose1;
+#X obj 341 399 explose1;
+#X obj 351 409 explose1;
+#X obj 361 419 explose1;
+#X obj 371 429 explose1;
+#X obj 381 439 explose1;
+#X obj 391 449 explose1;
+#X obj 401 459 explose1;
+#X obj 411 469 explose1;
+#X obj 421 479 explose1;
+#X obj 431 489 explose1;
+#X obj 441 499 explose1;
+#X obj 451 509 explose1;
+#X obj 461 519 explose1;
+#X obj 471 529 explose1;
+#X obj 481 539 explose1;
+#X obj 491 549 explose1;
+#X obj 501 559 explose1;
+#X obj 511 569 explose1;
+#X obj 521 579 explose1;
+#X obj 531 589 explose1;
+#X obj 541 599 explose1;
+#X obj 551 609 explose1;
+#X obj 486 379 explose1;
+#X obj 496 389 explose1;
+#X obj 506 399 explose1;
+#X obj 516 409 explose1;
+#X obj 526 419 explose1;
+#X obj 536 429 explose1;
+#X obj 546 439 explose1;
+#X obj 556 449 explose1;
+#X obj 566 459 explose1;
+#X obj 576 469 explose1;
+#X obj 586 479 explose1;
+#X obj 596 489 explose1;
+#X obj 606 499 explose1;
+#X obj 616 509 explose1;
+#X obj 626 519 explose1;
+#X obj 636 529 explose1;
+#X obj 646 539 explose1;
+#X obj 656 549 explose1;
+#X obj 666 559 explose1;
+#X obj 676 569 explose1;
+#X obj 686 579 explose1;
+#X obj 696 589 explose1;
+#X obj 706 599 explose1;
+#X obj 716 609 explose1;
+#X obj 655 378 explose1;
+#X obj 665 388 explose1;
+#X obj 675 398 explose1;
+#X obj 685 408 explose1;
+#X obj 695 418 explose1;
+#X obj 705 428 explose1;
+#X obj 715 438 explose1;
+#X obj 725 448 explose1;
+#X obj 735 458 explose1;
+#X obj 745 468 explose1;
+#X obj 755 478 explose1;
+#X obj 765 488 explose1;
+#X obj 775 498 explose1;
+#X obj 785 508 explose1;
+#X obj 795 518 explose1;
+#X obj 805 528 explose1;
+#X obj 815 538 explose1;
+#X obj 825 548 explose1;
+#X obj 835 558 explose1;
+#X obj 845 568 explose1;
+#X obj 855 578 explose1;
+#X obj 865 588 explose1;
+#X obj 875 598 explose1;
+#X obj 885 608 explose1;
+#X obj 895 618 explose1;
+#X obj 820 378 explose1;
+#X obj 830 388 explose1;
+#X obj 840 398 explose1;
+#X obj 850 408 explose1;
+#X obj 860 418 explose1;
+#X obj 870 428 explose1;
+#X obj 880 438 explose1;
+#X obj 890 448 explose1;
+#X obj 900 458 explose1;
+#X obj 910 468 explose1;
+#X obj 920 478 explose1;
+#X obj 930 488 explose1;
+#X obj 940 498 explose1;
+#X obj 950 508 explose1;
+#X obj 960 518 explose1;
+#X obj 970 528 explose1;
+#X obj 980 538 explose1;
+#X obj 990 548 explose1;
+#X obj 1000 558 explose1;
+#X obj 1010 568 explose1;
+#X obj 1020 578 explose1;
+#X obj 1030 588 explose1;
+#X obj 1040 598 explose1;
+#X obj 1050 608 explose1;
+#X obj 1060 618 explose1;
+#X restore 26 330 pd pool;
+#X msg 177 313 reset;
+#X obj 177 337 s mass;
+#X obj 65 146 s link;
+#X text 42 39 <- begin (change metro speed for slow computer);
+#X obj 27 245 gemhead 1;
+#X obj 27 270 rotateXYZ -80 0 0;
+#X obj 27 298 world_light;
+#X obj 154 77 bng 15 250 50 0 empty empty empty 0 -6 0 8 -258699 -1
+-1;
+#X obj 154 106 t b b b b;
+#X obj 32 170 s mass2;
+#X obj 192 355 s mass2;
+#X obj 305 231 delay 200;
+#X obj 303 297 iCylinder3D mass2 0 1 0 0 0 0 0 1 0 0.05;
+#X obj 305 252 iSphere3D mass 0 3 0 0 1 0 0.03;
+#X msg 292 114 reset \, view -3 4 6 0 0 0 2 4 0 \, lighting 1 \, create
+\, 1;
+#X obj 19 82 metro 25;
+#X floatatom 62 65 5 0 0 0 - - -;
+#X text 179 76 <- explosion;
+#X text 184 7 planette explosion \, hollywood style!;
+#X obj 277 78 bng 15 250 50 0 empty empty empty 0 -6 0 8 -24198 -1
+-1;
+#X text 296 77 <- reset;
+#X obj 304 274 iAmbient3D mass2 0 0 0 0.01 0 0.01;
+#X obj 305 208 iAmbient3D mass 0 0 0 0.001 0.001 0.001 O.OOO1;
+#X text 625 115 <- 1;
+#X obj 292 166 gemwin;
+#X connect 0 0 4 0;
+#X connect 0 0 15 0;
+#X connect 0 1 8 0;
+#X connect 1 0 21 0;
+#X connect 2 0 6 0;
+#X connect 3 0 30 0;
+#X connect 6 0 7 0;
+#X connect 6 0 16 0;
+#X connect 10 0 11 0;
+#X connect 11 0 12 0;
+#X connect 13 0 14 0;
+#X connect 14 0 17 0;
+#X connect 14 0 18 0;
+#X connect 14 1 4 0;
+#X connect 14 1 15 0;
+#X connect 14 2 27 0;
+#X connect 14 2 28 0;
+#X connect 14 3 6 0;
+#X connect 17 0 19 0;
+#X connect 20 0 30 0;
+#X connect 21 0 0 0;
+#X connect 22 0 21 1;
+#X connect 25 0 6 0;
diff --git a/examples/38_elastique_membrane_on_a_sphere.pd b/examples/38_elastique_membrane_on_a_sphere.pd
new file mode 100644
index 0000000..2ca904c
--- /dev/null
+++ b/examples/38_elastique_membrane_on_a_sphere.pd
@@ -0,0 +1,1413 @@
+#N canvas 67 33 711 552 10;
+#X obj 31 35 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 68 188 s masse;
+#X msg 364 476 setK \$1;
+#X msg 481 476 setM \$1;
+#X obj 481 504 s masse;
+#X msg 228 105 0 \, destroy;
+#X floatatom 364 452 5 0 0 0 - - -;
+#X floatatom 419 452 5 0 0 0 - - -;
+#X floatatom 481 453 5 0 0 0 - - -;
+#X obj 606 475 world_light;
+#X obj 606 452 gemhead;
+#X msg 419 475 setD2 \$1;
+#X obj 453 86 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 511 199 loadbang;
+#X obj 477 224 t b b b;
+#X msg 514 254 reset;
+#X msg 477 351 resetF;
+#X obj 529 282 s masse;
+#X msg 420 427 0.03;
+#X obj 364 407 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 477 373 s link;
+#X obj 41 256 s lia;
+#X obj 495 329 s r_lia;
+#X obj 514 306 s masse2;
+#X msg 219 81 lighting 1 \, create \, 1;
+#X obj 66 214 s masse3;
+#X obj 31 140 t b b b;
+#X msg 481 429 1;
+#X obj 313 503 s link;
+#X obj 219 226 ch_gemwin;
+#X obj 49 235 s masse2;
+#X text 481 86 <- reset;
+#X floatatom 74 68 5 0 0 0 - - -;
+#N canvas 0 80 1142 764 array 0;
+#X obj 30 39 mass_link2 -1 -1 0;
+#X obj 1571 718 mass_link2 16 16 0;
+#X obj 21 725 mass_link2 -1 16 0;
+#X obj 1540 58 mass_link2 16 -1 0;
+#X obj 622 82 mass_link 6 0 0;
+#X obj 526 320 mass_link 5 6 0;
+#X obj 321 321 mass_link 3 6 0;
+#X obj 523 371 mass_link 5 7 0;
+#X obj 430 361 mass_link 4 7 0;
+#X obj 531 445 mass_link 5 9 0;
+#X obj 30 75 mass_link 0 0 0;
+#X obj 130 118 mass_link 1 1 0;
+#X obj 123 74 mass_link 1 0 0;
+#X obj 330 79 mass_link 3 0 0;
+#X obj 125 165 mass_link 1 2 0;
+#X obj 28 113 mass_link 0 1 0;
+#X obj 30 313 mass_link 0 6 0;
+#X obj 35 197 mass_link 0 3 0;
+#X obj 31 156 mass_link 0 2 0;
+#X obj 33 231 mass_link 0 4 0;
+#X obj 30 270 mass_link 0 5 0;
+#X obj 30 357 mass_link 0 7 0;
+#X obj 127 203 mass_link 1 3 0;
+#X obj 126 235 mass_link 1 4 0;
+#X obj 126 275 mass_link 1 5 0;
+#X obj 126 316 mass_link 1 6 0;
+#X obj 123 367 mass_link 1 7 0;
+#X obj 222 78 mass_link 2 0 0;
+#X obj 227 116 mass_link 2 1 0;
+#X obj 228 163 mass_link 2 2 0;
+#X obj 220 208 mass_link 2 3 0;
+#X obj 224 238 mass_link 2 4 0;
+#X obj 223 280 mass_link 2 5 0;
+#X obj 222 321 mass_link 2 6 0;
+#X obj 220 363 mass_link 2 7 0;
+#X obj 323 117 mass_link 3 1 0;
+#X obj 327 161 mass_link 3 2 0;
+#X obj 324 201 mass_link 3 3 0;
+#X obj 321 238 mass_link 3 4 0;
+#X obj 323 276 mass_link 3 5 0;
+#X obj 321 365 mass_link 3 7 0;
+#X obj 430 79 mass_link 4 0 0;
+#X obj 428 117 mass_link 4 1 0;
+#X obj 432 160 mass_link 4 2 0;
+#X obj 435 201 mass_link 4 3 0;
+#X obj 433 235 mass_link 4 4 0;
+#X obj 430 275 mass_link 4 5 0;
+#X obj 430 317 mass_link 4 6 0;
+#X obj 523 78 mass_link 5 0 0;
+#X obj 530 122 mass_link 5 1 0;
+#X obj 525 169 mass_link 5 2 0;
+#X obj 527 207 mass_link 5 3 0;
+#X obj 526 239 mass_link 5 4 0;
+#X obj 526 279 mass_link 5 5 0;
+#X obj 627 120 mass_link 6 1 0;
+#X obj 628 167 mass_link 6 2 0;
+#X obj 621 212 mass_link 6 3 0;
+#X obj 624 242 mass_link 6 4 0;
+#X obj 623 284 mass_link 6 5 0;
+#X obj 622 325 mass_link 6 6 0;
+#X obj 620 367 mass_link 6 7 0;
+#X obj 730 83 mass_link 7 0 0;
+#X obj 723 121 mass_link 7 1 0;
+#X obj 728 166 mass_link 7 2 0;
+#X obj 724 205 mass_link 7 3 0;
+#X obj 721 242 mass_link 7 4 0;
+#X obj 723 280 mass_link 7 5 0;
+#X obj 721 324 mass_link 7 6 0;
+#X obj 721 369 mass_link 7 7 0;
+#X obj 839 82 mass_link 8 0 0;
+#X obj 837 120 mass_link 8 1 0;
+#X obj 840 163 mass_link 8 2 0;
+#X obj 844 204 mass_link 8 3 0;
+#X obj 842 238 mass_link 8 4 0;
+#X obj 839 277 mass_link 8 5 0;
+#X obj 839 320 mass_link 8 6 0;
+#X obj 839 365 mass_link 8 7 0;
+#X obj 932 81 mass_link 9 0 0;
+#X obj 939 125 mass_link 9 1 0;
+#X obj 934 172 mass_link 9 2 0;
+#X obj 936 210 mass_link 9 3 0;
+#X obj 936 242 mass_link 9 4 0;
+#X obj 935 281 mass_link 9 5 0;
+#X obj 935 323 mass_link 9 6 0;
+#X obj 932 375 mass_link 9 7 0;
+#X obj 1031 85 mass_link 10 0 0;
+#X obj 1036 123 mass_link 10 1 0;
+#X obj 1040 169 mass_link 10 2 0;
+#X obj 1029 215 mass_link 10 3 0;
+#X obj 1033 245 mass_link 10 4 0;
+#X obj 1032 287 mass_link 10 5 0;
+#X obj 1031 328 mass_link 10 6 0;
+#X obj 1029 370 mass_link 10 7 0;
+#X obj 1139 86 mass_link 11 0 0;
+#X obj 1132 125 mass_link 11 1 0;
+#X obj 1137 168 mass_link 11 2 0;
+#X obj 1133 208 mass_link 11 3 0;
+#X obj 1130 245 mass_link 11 4 0;
+#X obj 1132 283 mass_link 11 5 0;
+#X obj 1130 328 mass_link 11 6 0;
+#X obj 1130 372 mass_link 11 7 0;
+#X obj 1239 88 mass_link 12 0 0;
+#X obj 1237 124 mass_link 12 1 0;
+#X obj 1241 167 mass_link 12 2 0;
+#X obj 1244 208 mass_link 12 3 0;
+#X obj 1242 242 mass_link 12 4 0;
+#X obj 1239 282 mass_link 12 5 0;
+#X obj 1240 324 mass_link 12 6 0;
+#X obj 1239 369 mass_link 12 7 0;
+#X obj 1333 86 mass_link 13 0 0;
+#X obj 1339 129 mass_link 13 1 0;
+#X obj 1334 176 mass_link 13 2 0;
+#X obj 1340 242 mass_link 13 4 0;
+#X obj 1335 286 mass_link 13 5 0;
+#X obj 1336 327 mass_link 13 6 0;
+#X obj 1333 371 mass_link 13 7 0;
+#X obj 1431 89 mass_link 14 0 0;
+#X obj 1437 127 mass_link 14 1 0;
+#X obj 1437 174 mass_link 14 2 0;
+#X obj 1430 219 mass_link 14 3 0;
+#X obj 1433 249 mass_link 14 4 0;
+#X obj 1432 291 mass_link 14 5 0;
+#X obj 1431 332 mass_link 14 6 0;
+#X obj 1429 374 mass_link 14 7 0;
+#X obj 1540 90 mass_link 15 0 0;
+#X obj 1532 128 mass_link 15 1 0;
+#X obj 1536 172 mass_link 15 2 0;
+#X obj 1533 212 mass_link 15 3 0;
+#X obj 1530 249 mass_link 15 4 0;
+#X obj 1532 287 mass_link 15 5 0;
+#X obj 1530 331 mass_link 15 6 0;
+#X obj 1530 378 mass_link 15 7 0;
+#X obj 32 398 mass_link 0 8 0;
+#X obj 29 436 mass_link 0 9 0;
+#X obj 32 479 mass_link 0 10 0;
+#X obj 37 520 mass_link 0 11 0;
+#X obj 34 554 mass_link 0 12 0;
+#X obj 31 594 mass_link 0 13 0;
+#X obj 31 636 mass_link 0 14 0;
+#X obj 31 680 mass_link 0 15 0;
+#X obj 124 690 mass_link 1 15 0;
+#X obj 221 685 mass_link 2 15 0;
+#X obj 323 688 mass_link 3 15 0;
+#X obj 432 684 mass_link 4 15 0;
+#X obj 524 694 mass_link 5 15 0;
+#X obj 622 690 mass_link 6 15 0;
+#X obj 722 692 mass_link 7 15 0;
+#X obj 837 687 mass_link 8 15 0;
+#X obj 933 698 mass_link 9 15 0;
+#X obj 1030 693 mass_link 10 15 0;
+#X obj 1132 695 mass_link 11 15 0;
+#X obj 1241 692 mass_link 12 15 0;
+#X obj 1334 694 mass_link 13 15 0;
+#X obj 1430 697 mass_link 14 15 0;
+#X obj 1532 701 mass_link 15 15 0;
+#X obj 1531 654 mass_link 15 14 0;
+#X obj 1432 655 mass_link 14 14 0;
+#X obj 1337 650 mass_link 13 14 0;
+#X obj 1242 647 mass_link 12 14 0;
+#X obj 1131 651 mass_link 11 14 0;
+#X obj 1033 651 mass_link 10 14 0;
+#X obj 936 646 mass_link 9 14 0;
+#X obj 842 644 mass_link 8 14 0;
+#X obj 722 647 mass_link 7 14 0;
+#X obj 624 648 mass_link 6 14 0;
+#X obj 527 643 mass_link 5 14 0;
+#X obj 432 641 mass_link 4 14 0;
+#X obj 322 644 mass_link 3 14 0;
+#X obj 223 644 mass_link 2 14 0;
+#X obj 127 639 mass_link 1 14 0;
+#X obj 127 598 mass_link 1 13 0;
+#X obj 224 603 mass_link 2 13 0;
+#X obj 324 599 mass_link 3 13 0;
+#X obj 431 598 mass_link 4 13 0;
+#X obj 526 602 mass_link 5 13 0;
+#X obj 624 607 mass_link 6 13 0;
+#X obj 724 602 mass_link 7 13 0;
+#X obj 840 600 mass_link 8 13 0;
+#X obj 936 604 mass_link 9 13 0;
+#X obj 1033 610 mass_link 10 13 0;
+#X obj 1133 606 mass_link 11 13 0;
+#X obj 1240 605 mass_link 12 13 0;
+#X obj 1336 609 mass_link 13 13 0;
+#X obj 1433 614 mass_link 14 13 0;
+#X obj 1534 610 mass_link 15 13 0;
+#X obj 1530 573 mass_link 15 12 0;
+#X obj 1429 572 mass_link 14 12 0;
+#X obj 1337 569 mass_link 13 12 0;
+#X obj 1243 565 mass_link 12 12 0;
+#X obj 1131 568 mass_link 11 12 0;
+#X obj 1034 568 mass_link 10 12 0;
+#X obj 937 565 mass_link 9 12 0;
+#X obj 843 561 mass_link 8 12 0;
+#X obj 722 565 mass_link 7 12 0;
+#X obj 625 565 mass_link 6 12 0;
+#X obj 527 562 mass_link 5 12 0;
+#X obj 434 558 mass_link 4 12 0;
+#X obj 322 561 mass_link 3 12 0;
+#X obj 225 561 mass_link 2 12 0;
+#X obj 127 558 mass_link 1 12 0;
+#X obj 128 526 mass_link 1 11 0;
+#X obj 221 531 mass_link 2 11 0;
+#X obj 326 524 mass_link 3 11 0;
+#X obj 436 524 mass_link 4 11 0;
+#X obj 525 531 mass_link 5 11 0;
+#X obj 622 536 mass_link 6 11 0;
+#X obj 725 528 mass_link 7 11 0;
+#X obj 845 527 mass_link 8 11 0;
+#X obj 938 533 mass_link 9 11 0;
+#X obj 1030 538 mass_link 10 11 0;
+#X obj 1134 531 mass_link 11 11 0;
+#X obj 1245 531 mass_link 12 11 0;
+#X obj 1431 542 mass_link 14 11 0;
+#X obj 1533 536 mass_link 15 11 0;
+#X obj 1533 451 mass_link 15 9 0;
+#X obj 1443 451 mass_link 14 9 0;
+#X obj 1340 452 mass_link 13 9 0;
+#X obj 1238 447 mass_link 12 9 0;
+#X obj 1133 448 mass_link 11 9 0;
+#X obj 1037 446 mass_link 10 9 0;
+#X obj 940 448 mass_link 9 9 0;
+#X obj 839 443 mass_link 8 9 0;
+#X obj 724 444 mass_link 7 9 0;
+#X obj 628 443 mass_link 6 9 0;
+#X obj 430 440 mass_link 4 9 0;
+#X obj 325 440 mass_link 3 9 0;
+#X obj 228 439 mass_link 2 9 0;
+#X obj 131 441 mass_link 1 9 0;
+#X obj 124 396 mass_link 1 8 0;
+#X obj 223 401 mass_link 2 8 0;
+#X obj 331 403 mass_link 3 8 0;
+#X obj 430 405 mass_link 4 8 0;
+#X obj 524 401 mass_link 5 8 0;
+#X obj 623 405 mass_link 6 8 0;
+#X obj 731 406 mass_link 7 8 0;
+#X obj 841 405 mass_link 8 8 0;
+#X obj 933 406 mass_link 9 8 0;
+#X obj 1034 408 mass_link 10 8 0;
+#X obj 1140 409 mass_link 11 8 0;
+#X obj 1241 411 mass_link 12 8 0;
+#X obj 1336 410 mass_link 13 8 0;
+#X obj 1432 412 mass_link 14 8 0;
+#X obj 1545 413 mass_link 15 8 0;
+#X obj 126 488 mass_link 1 10 0;
+#X obj 230 486 mass_link 2 10 0;
+#X obj 328 484 mass_link 3 10 0;
+#X obj 437 484 mass_link 4 10 0;
+#X obj 526 492 mass_link 5 10 0;
+#X obj 629 490 mass_link 6 10 0;
+#X obj 729 489 mass_link 7 10 0;
+#X obj 841 486 mass_link 8 10 0;
+#X obj 936 496 mass_link 9 10 0;
+#X obj 1042 492 mass_link 10 10 0;
+#X obj 1139 491 mass_link 11 10 0;
+#X obj 1242 490 mass_link 12 10 0;
+#X obj 1335 499 mass_link 13 10 0;
+#X obj 1438 497 mass_link 14 10 0;
+#X obj 1537 495 mass_link 15 10 0;
+#X obj 1336 216 mass_link 13 3 0;
+#X obj 1338 537 mass_link 13 11 0;
+#X connect 0 0 10 0;
+#X connect 1 0 154 0;
+#X connect 2 0 139 0;
+#X connect 3 0 124 0;
+#X connect 4 0 48 0;
+#X connect 4 0 54 0;
+#X connect 4 0 61 0;
+#X connect 5 0 7 0;
+#X connect 5 0 47 0;
+#X connect 5 0 53 0;
+#X connect 5 0 59 0;
+#X connect 6 0 33 0;
+#X connect 6 0 39 0;
+#X connect 6 0 40 0;
+#X connect 6 0 47 0;
+#X connect 7 0 5 0;
+#X connect 7 0 8 0;
+#X connect 7 0 60 0;
+#X connect 7 0 232 0;
+#X connect 8 0 7 0;
+#X connect 8 0 40 0;
+#X connect 8 0 47 0;
+#X connect 8 0 231 0;
+#X connect 9 0 223 0;
+#X connect 9 0 224 0;
+#X connect 9 0 232 0;
+#X connect 9 0 247 0;
+#X connect 10 0 12 0;
+#X connect 10 0 15 0;
+#X connect 11 0 12 0;
+#X connect 11 0 14 0;
+#X connect 11 0 15 0;
+#X connect 11 0 28 0;
+#X connect 12 0 10 0;
+#X connect 12 0 11 0;
+#X connect 12 0 27 0;
+#X connect 13 0 27 0;
+#X connect 13 0 35 0;
+#X connect 13 0 41 0;
+#X connect 14 0 11 0;
+#X connect 14 0 18 0;
+#X connect 14 0 22 0;
+#X connect 14 0 29 0;
+#X connect 15 0 10 0;
+#X connect 15 0 11 0;
+#X connect 15 0 18 0;
+#X connect 16 0 20 0;
+#X connect 16 0 21 0;
+#X connect 16 0 25 0;
+#X connect 17 0 18 0;
+#X connect 17 0 19 0;
+#X connect 17 0 22 0;
+#X connect 18 0 14 0;
+#X connect 18 0 15 0;
+#X connect 18 0 17 0;
+#X connect 19 0 17 0;
+#X connect 19 0 20 0;
+#X connect 19 0 23 0;
+#X connect 20 0 16 0;
+#X connect 20 0 19 0;
+#X connect 20 0 24 0;
+#X connect 21 0 16 0;
+#X connect 21 0 26 0;
+#X connect 21 0 132 0;
+#X connect 22 0 14 0;
+#X connect 22 0 17 0;
+#X connect 22 0 23 0;
+#X connect 22 0 30 0;
+#X connect 23 0 19 0;
+#X connect 23 0 22 0;
+#X connect 23 0 24 0;
+#X connect 23 0 31 0;
+#X connect 24 0 20 0;
+#X connect 24 0 23 0;
+#X connect 24 0 25 0;
+#X connect 24 0 32 0;
+#X connect 25 0 16 0;
+#X connect 25 0 24 0;
+#X connect 25 0 26 0;
+#X connect 25 0 33 0;
+#X connect 26 0 21 0;
+#X connect 26 0 25 0;
+#X connect 26 0 34 0;
+#X connect 26 0 228 0;
+#X connect 27 0 12 0;
+#X connect 27 0 13 0;
+#X connect 27 0 28 0;
+#X connect 28 0 11 0;
+#X connect 28 0 27 0;
+#X connect 28 0 29 0;
+#X connect 28 0 35 0;
+#X connect 29 0 14 0;
+#X connect 29 0 28 0;
+#X connect 29 0 30 0;
+#X connect 29 0 36 0;
+#X connect 30 0 22 0;
+#X connect 30 0 29 0;
+#X connect 30 0 31 0;
+#X connect 30 0 37 0;
+#X connect 31 0 23 0;
+#X connect 31 0 30 0;
+#X connect 31 0 32 0;
+#X connect 31 0 38 0;
+#X connect 32 0 24 0;
+#X connect 32 0 31 0;
+#X connect 32 0 33 0;
+#X connect 32 0 39 0;
+#X connect 33 0 6 0;
+#X connect 33 0 25 0;
+#X connect 33 0 32 0;
+#X connect 33 0 34 0;
+#X connect 34 0 26 0;
+#X connect 34 0 33 0;
+#X connect 34 0 40 0;
+#X connect 34 0 229 0;
+#X connect 35 0 13 0;
+#X connect 35 0 28 0;
+#X connect 35 0 36 0;
+#X connect 35 0 42 0;
+#X connect 36 0 29 0;
+#X connect 36 0 35 0;
+#X connect 36 0 37 0;
+#X connect 36 0 43 0;
+#X connect 37 0 30 0;
+#X connect 37 0 36 0;
+#X connect 37 0 38 0;
+#X connect 37 0 44 0;
+#X connect 38 0 31 0;
+#X connect 38 0 37 0;
+#X connect 38 0 39 0;
+#X connect 38 0 45 0;
+#X connect 39 0 6 0;
+#X connect 39 0 32 0;
+#X connect 39 0 38 0;
+#X connect 39 0 46 0;
+#X connect 40 0 6 0;
+#X connect 40 0 8 0;
+#X connect 40 0 34 0;
+#X connect 40 0 230 0;
+#X connect 41 0 13 0;
+#X connect 41 0 42 0;
+#X connect 41 0 48 0;
+#X connect 42 0 35 0;
+#X connect 42 0 41 0;
+#X connect 42 0 43 0;
+#X connect 42 0 49 0;
+#X connect 43 0 36 0;
+#X connect 43 0 42 0;
+#X connect 43 0 44 0;
+#X connect 43 0 50 0;
+#X connect 44 0 37 0;
+#X connect 44 0 43 0;
+#X connect 44 0 45 0;
+#X connect 44 0 51 0;
+#X connect 45 0 38 0;
+#X connect 45 0 44 0;
+#X connect 45 0 46 0;
+#X connect 45 0 52 0;
+#X connect 46 0 39 0;
+#X connect 46 0 45 0;
+#X connect 46 0 47 0;
+#X connect 46 0 53 0;
+#X connect 47 0 5 0;
+#X connect 47 0 6 0;
+#X connect 47 0 8 0;
+#X connect 47 0 46 0;
+#X connect 48 0 4 0;
+#X connect 48 0 41 0;
+#X connect 48 0 49 0;
+#X connect 49 0 42 0;
+#X connect 49 0 48 0;
+#X connect 49 0 50 0;
+#X connect 49 0 54 0;
+#X connect 50 0 43 0;
+#X connect 50 0 49 0;
+#X connect 50 0 51 0;
+#X connect 50 0 55 0;
+#X connect 51 0 44 0;
+#X connect 51 0 50 0;
+#X connect 51 0 52 0;
+#X connect 51 0 56 0;
+#X connect 52 0 45 0;
+#X connect 52 0 51 0;
+#X connect 52 0 53 0;
+#X connect 52 0 57 0;
+#X connect 53 0 5 0;
+#X connect 53 0 46 0;
+#X connect 53 0 52 0;
+#X connect 53 0 58 0;
+#X connect 54 0 4 0;
+#X connect 54 0 49 0;
+#X connect 54 0 55 0;
+#X connect 54 0 62 0;
+#X connect 55 0 50 0;
+#X connect 55 0 54 0;
+#X connect 55 0 56 0;
+#X connect 55 0 63 0;
+#X connect 56 0 51 0;
+#X connect 56 0 55 0;
+#X connect 56 0 57 0;
+#X connect 56 0 64 0;
+#X connect 57 0 52 0;
+#X connect 57 0 56 0;
+#X connect 57 0 58 0;
+#X connect 57 0 65 0;
+#X connect 58 0 53 0;
+#X connect 58 0 57 0;
+#X connect 58 0 59 0;
+#X connect 58 0 66 0;
+#X connect 59 0 5 0;
+#X connect 59 0 58 0;
+#X connect 59 0 60 0;
+#X connect 59 0 67 0;
+#X connect 60 0 7 0;
+#X connect 60 0 59 0;
+#X connect 60 0 68 0;
+#X connect 60 0 233 0;
+#X connect 61 0 4 0;
+#X connect 61 0 62 0;
+#X connect 61 0 69 0;
+#X connect 62 0 54 0;
+#X connect 62 0 61 0;
+#X connect 62 0 63 0;
+#X connect 62 0 70 0;
+#X connect 63 0 55 0;
+#X connect 63 0 62 0;
+#X connect 63 0 64 0;
+#X connect 63 0 71 0;
+#X connect 64 0 56 0;
+#X connect 64 0 63 0;
+#X connect 64 0 65 0;
+#X connect 64 0 72 0;
+#X connect 65 0 57 0;
+#X connect 65 0 64 0;
+#X connect 65 0 66 0;
+#X connect 65 0 73 0;
+#X connect 66 0 58 0;
+#X connect 66 0 65 0;
+#X connect 66 0 67 0;
+#X connect 66 0 74 0;
+#X connect 67 0 59 0;
+#X connect 67 0 66 0;
+#X connect 67 0 68 0;
+#X connect 67 0 75 0;
+#X connect 68 0 60 0;
+#X connect 68 0 67 0;
+#X connect 68 0 76 0;
+#X connect 68 0 234 0;
+#X connect 69 0 61 0;
+#X connect 69 0 70 0;
+#X connect 69 0 77 0;
+#X connect 70 0 62 0;
+#X connect 70 0 69 0;
+#X connect 70 0 71 0;
+#X connect 70 0 78 0;
+#X connect 71 0 63 0;
+#X connect 71 0 70 0;
+#X connect 71 0 72 0;
+#X connect 71 0 79 0;
+#X connect 72 0 64 0;
+#X connect 72 0 71 0;
+#X connect 72 0 73 0;
+#X connect 72 0 80 0;
+#X connect 73 0 65 0;
+#X connect 73 0 72 0;
+#X connect 73 0 74 0;
+#X connect 73 0 81 0;
+#X connect 74 0 66 0;
+#X connect 74 0 73 0;
+#X connect 74 0 75 0;
+#X connect 74 0 82 0;
+#X connect 75 0 67 0;
+#X connect 75 0 74 0;
+#X connect 75 0 76 0;
+#X connect 75 0 83 0;
+#X connect 76 0 68 0;
+#X connect 76 0 75 0;
+#X connect 76 0 84 0;
+#X connect 76 0 235 0;
+#X connect 77 0 69 0;
+#X connect 77 0 78 0;
+#X connect 77 0 85 0;
+#X connect 78 0 70 0;
+#X connect 78 0 77 0;
+#X connect 78 0 79 0;
+#X connect 78 0 86 0;
+#X connect 79 0 71 0;
+#X connect 79 0 78 0;
+#X connect 79 0 80 0;
+#X connect 79 0 87 0;
+#X connect 80 0 72 0;
+#X connect 80 0 79 0;
+#X connect 80 0 81 0;
+#X connect 80 0 88 0;
+#X connect 81 0 73 0;
+#X connect 81 0 80 0;
+#X connect 81 0 82 0;
+#X connect 81 0 89 0;
+#X connect 82 0 74 0;
+#X connect 82 0 81 0;
+#X connect 82 0 83 0;
+#X connect 82 0 90 0;
+#X connect 83 0 75 0;
+#X connect 83 0 82 0;
+#X connect 83 0 84 0;
+#X connect 83 0 91 0;
+#X connect 84 0 76 0;
+#X connect 84 0 83 0;
+#X connect 84 0 92 0;
+#X connect 84 0 236 0;
+#X connect 85 0 77 0;
+#X connect 85 0 86 0;
+#X connect 85 0 93 0;
+#X connect 86 0 78 0;
+#X connect 86 0 85 0;
+#X connect 86 0 87 0;
+#X connect 86 0 94 0;
+#X connect 87 0 79 0;
+#X connect 87 0 86 0;
+#X connect 87 0 88 0;
+#X connect 87 0 95 0;
+#X connect 88 0 80 0;
+#X connect 88 0 87 0;
+#X connect 88 0 89 0;
+#X connect 88 0 96 0;
+#X connect 89 0 81 0;
+#X connect 89 0 88 0;
+#X connect 89 0 90 0;
+#X connect 89 0 97 0;
+#X connect 90 0 82 0;
+#X connect 90 0 89 0;
+#X connect 90 0 91 0;
+#X connect 90 0 98 0;
+#X connect 91 0 83 0;
+#X connect 91 0 90 0;
+#X connect 91 0 92 0;
+#X connect 91 0 99 0;
+#X connect 92 0 84 0;
+#X connect 92 0 91 0;
+#X connect 92 0 100 0;
+#X connect 92 0 237 0;
+#X connect 93 0 85 0;
+#X connect 93 0 94 0;
+#X connect 93 0 101 0;
+#X connect 94 0 86 0;
+#X connect 94 0 93 0;
+#X connect 94 0 95 0;
+#X connect 94 0 102 0;
+#X connect 95 0 87 0;
+#X connect 95 0 94 0;
+#X connect 95 0 96 0;
+#X connect 95 0 103 0;
+#X connect 96 0 88 0;
+#X connect 96 0 95 0;
+#X connect 96 0 97 0;
+#X connect 96 0 104 0;
+#X connect 97 0 89 0;
+#X connect 97 0 96 0;
+#X connect 97 0 98 0;
+#X connect 97 0 105 0;
+#X connect 98 0 90 0;
+#X connect 98 0 97 0;
+#X connect 98 0 99 0;
+#X connect 98 0 106 0;
+#X connect 99 0 91 0;
+#X connect 99 0 98 0;
+#X connect 99 0 100 0;
+#X connect 99 0 107 0;
+#X connect 100 0 92 0;
+#X connect 100 0 99 0;
+#X connect 100 0 108 0;
+#X connect 100 0 238 0;
+#X connect 101 0 93 0;
+#X connect 101 0 102 0;
+#X connect 101 0 109 0;
+#X connect 102 0 94 0;
+#X connect 102 0 101 0;
+#X connect 102 0 103 0;
+#X connect 102 0 110 0;
+#X connect 103 0 95 0;
+#X connect 103 0 102 0;
+#X connect 103 0 104 0;
+#X connect 103 0 111 0;
+#X connect 104 0 96 0;
+#X connect 104 0 103 0;
+#X connect 104 0 105 0;
+#X connect 104 0 258 0;
+#X connect 105 0 97 0;
+#X connect 105 0 104 0;
+#X connect 105 0 106 0;
+#X connect 105 0 112 0;
+#X connect 106 0 98 0;
+#X connect 106 0 105 0;
+#X connect 106 0 107 0;
+#X connect 106 0 113 0;
+#X connect 107 0 99 0;
+#X connect 107 0 106 0;
+#X connect 107 0 108 0;
+#X connect 107 0 114 0;
+#X connect 108 0 100 0;
+#X connect 108 0 107 0;
+#X connect 108 0 115 0;
+#X connect 108 0 239 0;
+#X connect 109 0 101 0;
+#X connect 109 0 110 0;
+#X connect 109 0 116 0;
+#X connect 110 0 102 0;
+#X connect 110 0 109 0;
+#X connect 110 0 111 0;
+#X connect 110 0 117 0;
+#X connect 111 0 103 0;
+#X connect 111 0 110 0;
+#X connect 111 0 118 0;
+#X connect 111 0 258 0;
+#X connect 112 0 105 0;
+#X connect 112 0 113 0;
+#X connect 112 0 120 0;
+#X connect 112 0 258 0;
+#X connect 113 0 106 0;
+#X connect 113 0 112 0;
+#X connect 113 0 114 0;
+#X connect 113 0 121 0;
+#X connect 114 0 107 0;
+#X connect 114 0 113 0;
+#X connect 114 0 115 0;
+#X connect 114 0 122 0;
+#X connect 115 0 108 0;
+#X connect 115 0 114 0;
+#X connect 115 0 123 0;
+#X connect 115 0 240 0;
+#X connect 116 0 109 0;
+#X connect 116 0 117 0;
+#X connect 116 0 124 0;
+#X connect 117 0 110 0;
+#X connect 117 0 116 0;
+#X connect 117 0 118 0;
+#X connect 117 0 125 0;
+#X connect 118 0 111 0;
+#X connect 118 0 117 0;
+#X connect 118 0 119 0;
+#X connect 118 0 126 0;
+#X connect 119 0 118 0;
+#X connect 119 0 120 0;
+#X connect 119 0 127 0;
+#X connect 119 0 258 0;
+#X connect 120 0 112 0;
+#X connect 120 0 119 0;
+#X connect 120 0 121 0;
+#X connect 120 0 128 0;
+#X connect 121 0 113 0;
+#X connect 121 0 120 0;
+#X connect 121 0 122 0;
+#X connect 121 0 129 0;
+#X connect 122 0 114 0;
+#X connect 122 0 121 0;
+#X connect 122 0 123 0;
+#X connect 122 0 130 0;
+#X connect 123 0 115 0;
+#X connect 123 0 122 0;
+#X connect 123 0 131 0;
+#X connect 123 0 241 0;
+#X connect 124 0 116 0;
+#X connect 124 0 125 0;
+#X connect 125 0 117 0;
+#X connect 125 0 124 0;
+#X connect 125 0 126 0;
+#X connect 126 0 118 0;
+#X connect 126 0 125 0;
+#X connect 126 0 127 0;
+#X connect 127 0 119 0;
+#X connect 127 0 126 0;
+#X connect 127 0 128 0;
+#X connect 128 0 120 0;
+#X connect 128 0 127 0;
+#X connect 128 0 129 0;
+#X connect 129 0 121 0;
+#X connect 129 0 128 0;
+#X connect 129 0 130 0;
+#X connect 130 0 122 0;
+#X connect 130 0 129 0;
+#X connect 130 0 131 0;
+#X connect 131 0 123 0;
+#X connect 131 0 130 0;
+#X connect 131 0 242 0;
+#X connect 132 0 21 0;
+#X connect 132 0 133 0;
+#X connect 132 0 228 0;
+#X connect 133 0 132 0;
+#X connect 133 0 134 0;
+#X connect 133 0 227 0;
+#X connect 134 0 133 0;
+#X connect 134 0 135 0;
+#X connect 134 0 243 0;
+#X connect 135 0 134 0;
+#X connect 135 0 136 0;
+#X connect 135 0 200 0;
+#X connect 136 0 135 0;
+#X connect 136 0 137 0;
+#X connect 136 0 199 0;
+#X connect 137 0 136 0;
+#X connect 137 0 138 0;
+#X connect 137 0 170 0;
+#X connect 138 0 137 0;
+#X connect 138 0 139 0;
+#X connect 138 0 169 0;
+#X connect 139 0 138 0;
+#X connect 139 0 140 0;
+#X connect 140 0 139 0;
+#X connect 140 0 141 0;
+#X connect 140 0 169 0;
+#X connect 141 0 140 0;
+#X connect 141 0 142 0;
+#X connect 141 0 168 0;
+#X connect 142 0 141 0;
+#X connect 142 0 143 0;
+#X connect 142 0 167 0;
+#X connect 143 0 142 0;
+#X connect 143 0 144 0;
+#X connect 143 0 166 0;
+#X connect 144 0 143 0;
+#X connect 144 0 145 0;
+#X connect 144 0 165 0;
+#X connect 145 0 144 0;
+#X connect 145 0 146 0;
+#X connect 145 0 164 0;
+#X connect 146 0 145 0;
+#X connect 146 0 147 0;
+#X connect 146 0 163 0;
+#X connect 147 0 146 0;
+#X connect 147 0 148 0;
+#X connect 147 0 162 0;
+#X connect 148 0 147 0;
+#X connect 148 0 149 0;
+#X connect 148 0 161 0;
+#X connect 149 0 148 0;
+#X connect 149 0 150 0;
+#X connect 149 0 160 0;
+#X connect 150 0 149 0;
+#X connect 150 0 151 0;
+#X connect 150 0 159 0;
+#X connect 151 0 150 0;
+#X connect 151 0 152 0;
+#X connect 151 0 158 0;
+#X connect 152 0 151 0;
+#X connect 152 0 153 0;
+#X connect 152 0 157 0;
+#X connect 153 0 152 0;
+#X connect 153 0 154 0;
+#X connect 153 0 156 0;
+#X connect 154 0 153 0;
+#X connect 154 0 155 0;
+#X connect 155 0 154 0;
+#X connect 155 0 156 0;
+#X connect 155 0 184 0;
+#X connect 156 0 153 0;
+#X connect 156 0 155 0;
+#X connect 156 0 157 0;
+#X connect 156 0 183 0;
+#X connect 157 0 152 0;
+#X connect 157 0 156 0;
+#X connect 157 0 158 0;
+#X connect 157 0 182 0;
+#X connect 158 0 151 0;
+#X connect 158 0 157 0;
+#X connect 158 0 159 0;
+#X connect 158 0 181 0;
+#X connect 159 0 150 0;
+#X connect 159 0 158 0;
+#X connect 159 0 160 0;
+#X connect 159 0 180 0;
+#X connect 160 0 149 0;
+#X connect 160 0 159 0;
+#X connect 160 0 161 0;
+#X connect 160 0 179 0;
+#X connect 161 0 148 0;
+#X connect 161 0 160 0;
+#X connect 161 0 162 0;
+#X connect 161 0 178 0;
+#X connect 162 0 147 0;
+#X connect 162 0 161 0;
+#X connect 162 0 163 0;
+#X connect 162 0 177 0;
+#X connect 163 0 146 0;
+#X connect 163 0 162 0;
+#X connect 163 0 164 0;
+#X connect 163 0 176 0;
+#X connect 164 0 145 0;
+#X connect 164 0 163 0;
+#X connect 164 0 165 0;
+#X connect 164 0 175 0;
+#X connect 165 0 144 0;
+#X connect 165 0 164 0;
+#X connect 165 0 166 0;
+#X connect 165 0 174 0;
+#X connect 166 0 143 0;
+#X connect 166 0 165 0;
+#X connect 166 0 167 0;
+#X connect 166 0 173 0;
+#X connect 167 0 142 0;
+#X connect 167 0 166 0;
+#X connect 167 0 168 0;
+#X connect 167 0 172 0;
+#X connect 168 0 141 0;
+#X connect 168 0 167 0;
+#X connect 168 0 169 0;
+#X connect 168 0 171 0;
+#X connect 169 0 138 0;
+#X connect 169 0 140 0;
+#X connect 169 0 168 0;
+#X connect 169 0 170 0;
+#X connect 170 0 137 0;
+#X connect 170 0 169 0;
+#X connect 170 0 171 0;
+#X connect 170 0 199 0;
+#X connect 171 0 168 0;
+#X connect 171 0 170 0;
+#X connect 171 0 172 0;
+#X connect 171 0 198 0;
+#X connect 172 0 167 0;
+#X connect 172 0 171 0;
+#X connect 172 0 173 0;
+#X connect 172 0 197 0;
+#X connect 173 0 166 0;
+#X connect 173 0 172 0;
+#X connect 173 0 174 0;
+#X connect 173 0 196 0;
+#X connect 174 0 165 0;
+#X connect 174 0 173 0;
+#X connect 174 0 175 0;
+#X connect 174 0 195 0;
+#X connect 175 0 164 0;
+#X connect 175 0 174 0;
+#X connect 175 0 176 0;
+#X connect 175 0 194 0;
+#X connect 176 0 163 0;
+#X connect 176 0 175 0;
+#X connect 176 0 177 0;
+#X connect 176 0 193 0;
+#X connect 177 0 162 0;
+#X connect 177 0 176 0;
+#X connect 177 0 178 0;
+#X connect 177 0 192 0;
+#X connect 178 0 161 0;
+#X connect 178 0 177 0;
+#X connect 178 0 179 0;
+#X connect 178 0 191 0;
+#X connect 179 0 160 0;
+#X connect 179 0 178 0;
+#X connect 179 0 180 0;
+#X connect 179 0 190 0;
+#X connect 180 0 159 0;
+#X connect 180 0 179 0;
+#X connect 180 0 181 0;
+#X connect 180 0 189 0;
+#X connect 181 0 158 0;
+#X connect 181 0 180 0;
+#X connect 181 0 182 0;
+#X connect 181 0 188 0;
+#X connect 182 0 157 0;
+#X connect 182 0 181 0;
+#X connect 182 0 183 0;
+#X connect 182 0 187 0;
+#X connect 183 0 156 0;
+#X connect 183 0 182 0;
+#X connect 183 0 184 0;
+#X connect 183 0 186 0;
+#X connect 184 0 155 0;
+#X connect 184 0 183 0;
+#X connect 184 0 185 0;
+#X connect 185 0 184 0;
+#X connect 185 0 186 0;
+#X connect 185 0 213 0;
+#X connect 186 0 183 0;
+#X connect 186 0 185 0;
+#X connect 186 0 187 0;
+#X connect 186 0 212 0;
+#X connect 187 0 182 0;
+#X connect 187 0 186 0;
+#X connect 187 0 188 0;
+#X connect 187 0 259 0;
+#X connect 188 0 181 0;
+#X connect 188 0 187 0;
+#X connect 188 0 189 0;
+#X connect 188 0 211 0;
+#X connect 189 0 180 0;
+#X connect 189 0 188 0;
+#X connect 189 0 190 0;
+#X connect 189 0 210 0;
+#X connect 190 0 179 0;
+#X connect 190 0 189 0;
+#X connect 190 0 191 0;
+#X connect 190 0 209 0;
+#X connect 191 0 178 0;
+#X connect 191 0 190 0;
+#X connect 191 0 192 0;
+#X connect 191 0 208 0;
+#X connect 192 0 177 0;
+#X connect 192 0 191 0;
+#X connect 192 0 193 0;
+#X connect 192 0 207 0;
+#X connect 193 0 176 0;
+#X connect 193 0 192 0;
+#X connect 193 0 194 0;
+#X connect 193 0 206 0;
+#X connect 194 0 175 0;
+#X connect 194 0 193 0;
+#X connect 194 0 195 0;
+#X connect 194 0 205 0;
+#X connect 195 0 174 0;
+#X connect 195 0 194 0;
+#X connect 195 0 196 0;
+#X connect 195 0 204 0;
+#X connect 196 0 173 0;
+#X connect 196 0 195 0;
+#X connect 196 0 197 0;
+#X connect 196 0 203 0;
+#X connect 197 0 172 0;
+#X connect 197 0 196 0;
+#X connect 197 0 198 0;
+#X connect 197 0 202 0;
+#X connect 198 0 171 0;
+#X connect 198 0 197 0;
+#X connect 198 0 199 0;
+#X connect 198 0 201 0;
+#X connect 199 0 136 0;
+#X connect 199 0 170 0;
+#X connect 199 0 198 0;
+#X connect 199 0 200 0;
+#X connect 200 0 135 0;
+#X connect 200 0 199 0;
+#X connect 200 0 201 0;
+#X connect 200 0 243 0;
+#X connect 201 0 198 0;
+#X connect 201 0 200 0;
+#X connect 201 0 202 0;
+#X connect 201 0 244 0;
+#X connect 202 0 197 0;
+#X connect 202 0 201 0;
+#X connect 202 0 203 0;
+#X connect 202 0 245 0;
+#X connect 203 0 196 0;
+#X connect 203 0 202 0;
+#X connect 203 0 204 0;
+#X connect 203 0 246 0;
+#X connect 204 0 195 0;
+#X connect 204 0 203 0;
+#X connect 204 0 205 0;
+#X connect 204 0 247 0;
+#X connect 205 0 194 0;
+#X connect 205 0 204 0;
+#X connect 205 0 206 0;
+#X connect 205 0 248 0;
+#X connect 206 0 193 0;
+#X connect 206 0 205 0;
+#X connect 206 0 207 0;
+#X connect 206 0 249 0;
+#X connect 207 0 192 0;
+#X connect 207 0 206 0;
+#X connect 207 0 208 0;
+#X connect 207 0 250 0;
+#X connect 208 0 191 0;
+#X connect 208 0 207 0;
+#X connect 208 0 209 0;
+#X connect 208 0 251 0;
+#X connect 209 0 190 0;
+#X connect 209 0 208 0;
+#X connect 209 0 210 0;
+#X connect 209 0 252 0;
+#X connect 210 0 189 0;
+#X connect 210 0 209 0;
+#X connect 210 0 211 0;
+#X connect 210 0 253 0;
+#X connect 211 0 188 0;
+#X connect 211 0 210 0;
+#X connect 211 0 254 0;
+#X connect 211 0 259 0;
+#X connect 212 0 186 0;
+#X connect 212 0 213 0;
+#X connect 212 0 256 0;
+#X connect 212 0 259 0;
+#X connect 213 0 185 0;
+#X connect 213 0 212 0;
+#X connect 213 0 257 0;
+#X connect 214 0 215 0;
+#X connect 214 0 242 0;
+#X connect 214 0 257 0;
+#X connect 215 0 214 0;
+#X connect 215 0 216 0;
+#X connect 215 0 241 0;
+#X connect 215 0 256 0;
+#X connect 216 0 215 0;
+#X connect 216 0 217 0;
+#X connect 216 0 240 0;
+#X connect 216 0 255 0;
+#X connect 217 0 216 0;
+#X connect 217 0 218 0;
+#X connect 217 0 239 0;
+#X connect 217 0 254 0;
+#X connect 218 0 217 0;
+#X connect 218 0 219 0;
+#X connect 218 0 238 0;
+#X connect 218 0 253 0;
+#X connect 219 0 218 0;
+#X connect 219 0 220 0;
+#X connect 219 0 237 0;
+#X connect 219 0 252 0;
+#X connect 220 0 219 0;
+#X connect 220 0 221 0;
+#X connect 220 0 236 0;
+#X connect 220 0 251 0;
+#X connect 221 0 220 0;
+#X connect 221 0 222 0;
+#X connect 221 0 235 0;
+#X connect 221 0 250 0;
+#X connect 222 0 221 0;
+#X connect 222 0 223 0;
+#X connect 222 0 234 0;
+#X connect 222 0 249 0;
+#X connect 223 0 9 0;
+#X connect 223 0 222 0;
+#X connect 223 0 233 0;
+#X connect 223 0 248 0;
+#X connect 224 0 9 0;
+#X connect 224 0 225 0;
+#X connect 224 0 231 0;
+#X connect 224 0 246 0;
+#X connect 225 0 224 0;
+#X connect 225 0 226 0;
+#X connect 225 0 230 0;
+#X connect 225 0 245 0;
+#X connect 226 0 225 0;
+#X connect 226 0 227 0;
+#X connect 226 0 229 0;
+#X connect 226 0 244 0;
+#X connect 227 0 133 0;
+#X connect 227 0 226 0;
+#X connect 227 0 228 0;
+#X connect 227 0 243 0;
+#X connect 228 0 26 0;
+#X connect 228 0 132 0;
+#X connect 228 0 227 0;
+#X connect 228 0 229 0;
+#X connect 229 0 34 0;
+#X connect 229 0 226 0;
+#X connect 229 0 228 0;
+#X connect 229 0 230 0;
+#X connect 230 0 40 0;
+#X connect 230 0 225 0;
+#X connect 230 0 229 0;
+#X connect 230 0 231 0;
+#X connect 231 0 8 0;
+#X connect 231 0 224 0;
+#X connect 231 0 230 0;
+#X connect 231 0 232 0;
+#X connect 232 0 7 0;
+#X connect 232 0 9 0;
+#X connect 232 0 231 0;
+#X connect 232 0 233 0;
+#X connect 233 0 60 0;
+#X connect 233 0 223 0;
+#X connect 233 0 232 0;
+#X connect 233 0 234 0;
+#X connect 234 0 68 0;
+#X connect 234 0 222 0;
+#X connect 234 0 233 0;
+#X connect 234 0 235 0;
+#X connect 235 0 76 0;
+#X connect 235 0 221 0;
+#X connect 235 0 234 0;
+#X connect 235 0 236 0;
+#X connect 236 0 84 0;
+#X connect 236 0 220 0;
+#X connect 236 0 235 0;
+#X connect 236 0 237 0;
+#X connect 237 0 92 0;
+#X connect 237 0 219 0;
+#X connect 237 0 236 0;
+#X connect 237 0 238 0;
+#X connect 238 0 100 0;
+#X connect 238 0 218 0;
+#X connect 238 0 237 0;
+#X connect 238 0 239 0;
+#X connect 239 0 108 0;
+#X connect 239 0 217 0;
+#X connect 239 0 238 0;
+#X connect 239 0 240 0;
+#X connect 240 0 115 0;
+#X connect 240 0 216 0;
+#X connect 240 0 239 0;
+#X connect 240 0 241 0;
+#X connect 241 0 123 0;
+#X connect 241 0 215 0;
+#X connect 241 0 240 0;
+#X connect 241 0 242 0;
+#X connect 242 0 131 0;
+#X connect 242 0 214 0;
+#X connect 242 0 241 0;
+#X connect 243 0 134 0;
+#X connect 243 0 200 0;
+#X connect 243 0 227 0;
+#X connect 243 0 244 0;
+#X connect 244 0 201 0;
+#X connect 244 0 226 0;
+#X connect 244 0 243 0;
+#X connect 244 0 245 0;
+#X connect 245 0 202 0;
+#X connect 245 0 225 0;
+#X connect 245 0 244 0;
+#X connect 245 0 246 0;
+#X connect 246 0 203 0;
+#X connect 246 0 224 0;
+#X connect 246 0 245 0;
+#X connect 246 0 247 0;
+#X connect 247 0 9 0;
+#X connect 247 0 204 0;
+#X connect 247 0 246 0;
+#X connect 247 0 248 0;
+#X connect 248 0 205 0;
+#X connect 248 0 223 0;
+#X connect 248 0 247 0;
+#X connect 248 0 249 0;
+#X connect 249 0 206 0;
+#X connect 249 0 222 0;
+#X connect 249 0 248 0;
+#X connect 249 0 250 0;
+#X connect 250 0 207 0;
+#X connect 250 0 221 0;
+#X connect 250 0 249 0;
+#X connect 250 0 251 0;
+#X connect 251 0 208 0;
+#X connect 251 0 220 0;
+#X connect 251 0 250 0;
+#X connect 251 0 252 0;
+#X connect 252 0 209 0;
+#X connect 252 0 219 0;
+#X connect 252 0 251 0;
+#X connect 252 0 253 0;
+#X connect 253 0 210 0;
+#X connect 253 0 218 0;
+#X connect 253 0 252 0;
+#X connect 253 0 254 0;
+#X connect 254 0 211 0;
+#X connect 254 0 217 0;
+#X connect 254 0 253 0;
+#X connect 254 0 255 0;
+#X connect 255 0 216 0;
+#X connect 255 0 254 0;
+#X connect 255 0 256 0;
+#X connect 255 0 259 0;
+#X connect 256 0 212 0;
+#X connect 256 0 215 0;
+#X connect 256 0 255 0;
+#X connect 256 0 257 0;
+#X connect 257 0 213 0;
+#X connect 257 0 214 0;
+#X connect 257 0 256 0;
+#X connect 258 0 104 0;
+#X connect 258 0 111 0;
+#X connect 258 0 112 0;
+#X connect 258 0 119 0;
+#X connect 259 0 187 0;
+#X connect 259 0 211 0;
+#X connect 259 0 212 0;
+#X connect 259 0 255 0;
+#X restore 606 498 pd array;
+#X obj 364 384 loadbang;
+#X msg 364 428 0.45;
+#X msg 313 476 setL \$1;
+#X msg 81 165 force3D 0 0 -0.0031;
+#X msg 42 489 setZ \$1;
+#X floatatom 42 342 5 0 0 0 - - -;
+#X obj 31 512 iSphere3D masse 7.5 7.5 -12 0 9 0 1;
+#X msg 266 425 0.4;
+#X msg 313 358 1.3;
+#X msg 42 318 -10;
+#X obj 31 115 metro 20;
+#X msg 290 404 0.8;
+#X obj 42 387 line;
+#X msg 42 362 \$1 100;
+#X obj 477 116 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 477 136 t b b;
+#X msg 127 462 -3;
+#X obj 536 115 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 536 135 t b b;
+#X text 337 7 elastic membrane on a sphere;
+#X floatatom 313 453 5 0 0 0 - - -;
+#X obj 42 293 loadbang;
+#X msg 77 461 -7;
+#X obj 502 161 s anim1;
+#X obj 561 161 s anim2;
+#X obj 77 437 r anim2;
+#X obj 127 438 r anim1;
+#X obj 313 334 r anim1;
+#X obj 290 382 r anim2;
+#X obj 51 413 s position;
+#X text 63 34 <- begin (change metro speed if to much;
+#X text 86 341 <- change red ball position;
+#X obj 238 155 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 0 1;
+#X obj 254 178 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 0 1;
+#X obj 271 203 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 0 1;
+#X text 267 133 camera position;
+#X text 359 79 <- 1;
+#N canvas 0 0 545 312 spheres 0;
+#X obj 44 101 r gemhead;
+#X obj 44 122 separator;
+#X obj 44 174 color 1 0 0;
+#X msg 87 219 30;
+#X obj 87 198 loadbang;
+#X msg 132 104 7.5;
+#X obj 132 127 / 3;
+#X obj 44 239 sphere 3;
+#X obj 44 151 translateXYZ 7.5 7.5 -4;
+#X obj 177 128 / 3;
+#X obj 132 79 loadbang;
+#X msg 228 105 -7;
+#X msg 197 83 -3;
+#X obj 228 84 r anim2;
+#X obj 197 59 r anim1;
+#X obj 177 36 r position;
+#X obj 323 92 gemhead;
+#X obj 323 156 rotateXYZ;
+#X obj 323 182 s gemhead;
+#X floatatom 369 110 5 0 0 0 - - -;
+#X floatatom 415 109 5 0 0 0 - - -;
+#X floatatom 462 109 5 0 0 0 - - -;
+#X obj 323 131 translateXYZ -2.5 -2.5 2;
+#X connect 0 0 1 0;
+#X connect 1 0 8 0;
+#X connect 2 0 7 0;
+#X connect 3 0 7 2;
+#X connect 4 0 3 0;
+#X connect 5 0 6 0;
+#X connect 6 0 8 2;
+#X connect 6 0 8 1;
+#X connect 8 0 2 0;
+#X connect 9 0 8 3;
+#X connect 10 0 5 0;
+#X connect 11 0 9 0;
+#X connect 12 0 9 0;
+#X connect 13 0 11 0;
+#X connect 14 0 12 0;
+#X connect 15 0 9 0;
+#X connect 16 0 22 0;
+#X connect 17 0 18 0;
+#X connect 19 0 22 1;
+#X connect 20 0 22 2;
+#X connect 21 0 22 3;
+#X connect 22 0 17 0;
+#X restore 608 428 pd spheres;
+#X connect 0 0 44 0;
+#X connect 2 0 28 0;
+#X connect 3 0 4 0;
+#X connect 5 0 29 0;
+#X connect 6 0 2 0;
+#X connect 7 0 11 0;
+#X connect 8 0 3 0;
+#X connect 10 0 9 0;
+#X connect 11 0 28 0;
+#X connect 12 0 14 0;
+#X connect 13 0 14 0;
+#X connect 14 0 16 0;
+#X connect 14 1 22 0;
+#X connect 14 2 15 0;
+#X connect 15 0 17 0;
+#X connect 15 0 23 0;
+#X connect 16 0 20 0;
+#X connect 18 0 7 0;
+#X connect 19 0 35 0;
+#X connect 19 0 18 0;
+#X connect 19 0 27 0;
+#X connect 24 0 29 0;
+#X connect 26 0 21 0;
+#X connect 26 0 37 0;
+#X connect 26 0 40 0;
+#X connect 26 1 25 0;
+#X connect 26 1 30 0;
+#X connect 26 2 1 0;
+#X connect 27 0 8 0;
+#X connect 32 0 44 1;
+#X connect 34 0 19 0;
+#X connect 35 0 6 0;
+#X connect 36 0 28 0;
+#X connect 37 0 1 0;
+#X connect 38 0 40 0;
+#X connect 39 0 47 0;
+#X connect 41 0 54 0;
+#X connect 42 0 54 0;
+#X connect 43 0 39 0;
+#X connect 44 0 26 0;
+#X connect 45 0 54 0;
+#X connect 46 0 38 0;
+#X connect 46 0 63 0;
+#X connect 47 0 46 0;
+#X connect 48 0 49 0;
+#X connect 49 0 14 0;
+#X connect 49 1 57 0;
+#X connect 50 0 38 0;
+#X connect 51 0 52 0;
+#X connect 52 0 14 0;
+#X connect 52 1 58 0;
+#X connect 54 0 36 0;
+#X connect 55 0 43 0;
+#X connect 56 0 38 0;
+#X connect 59 0 56 0;
+#X connect 60 0 50 0;
+#X connect 61 0 42 0;
+#X connect 62 0 45 0;
+#X connect 66 0 29 1;
+#X connect 67 0 29 2;
+#X connect 68 0 29 3;
diff --git a/examples/39_blob.pd b/examples/39_blob.pd
new file mode 100644
index 0000000..8a71b94
--- /dev/null
+++ b/examples/39_blob.pd
@@ -0,0 +1,696 @@
+#N canvas 184 131 697 488 10;
+#N canvas 289 242 849 567 array 0;
+#X obj 401 247 blob 62 1.39556 1 0;
+#X obj 28 386 lia3D link2 1 1 0 0.5;
+#X obj 203 382 lia3D link2 1 1 0 0.5;
+#X obj 393 385 lia3D link2 1 1 0 0.5;
+#X obj 576 387 lia3D link2 1 1 0 0.5;
+#X obj 793 385 lia3D link2 1 1 0 0.5;
+#X obj 988 387 lia3D link2 1 1 0 0.5;
+#X obj 1190 385 lia3D link2 1 1 0 0.5;
+#X obj 1391 387 lia3D link2 1 1 0 0.5;
+#X obj 1593 382 lia3D link2 1 1 0 0.5;
+#X obj 217 66 lia3D link2 1 1 0 0.5;
+#X obj 407 70 lia3D link2 1 1 0 0.5;
+#X obj 603 72 lia3D link2 1 1 0 0.5;
+#X obj 807 70 lia3D link2 1 1 0 0.5;
+#X obj 1002 72 lia3D link2 1 1 0 0.5;
+#X obj 1204 70 lia3D link2 1 1 0 0.5;
+#X obj 1405 72 lia3D link2 1 1 0 0.5;
+#X obj 1607 67 lia3D link2 1 1 0 0.5;
+#X obj 711 461 / 10;
+#X msg 751 489 setZ \$1 \, bang;
+#X obj 1089 353 mass3D foo 1 0 0 5;
+#X obj 1105 28 mass3D foo 1 0 0 -5;
+#X obj 848 464 * -1;
+#X msg 851 492 setZ \$1 \, bang;
+#X obj 999 481 translateXYZ 0 0 0;
+#X obj 999 509 sphere 0.3;
+#X obj 1009 448 unpack s f f f;
+#X obj 1128 480 translateXYZ 0 0 0;
+#X obj 1128 508 sphere 0.3;
+#X obj 1136 449 unpack s f f f;
+#X obj 932 408 r gemhead;
+#X obj 932 432 separator;
+#X obj 1017 426 separator;
+#X obj 42 71 lia3D link2 1 1 0 0.5;
+#X msg 40 34 setK 0.5 \, setL 0;
+#X obj 25 314 blob 99 6.28 3 0;
+#X obj 406 314 blob 92 1.39556 3 0;
+#X obj 1600 315 blob 98 5.58222 3 0;
+#X obj 1400 315 blob 97 4.88444 3 0;
+#X obj 1202 311 blob 96 4.18667 3 0;
+#X obj 1002 311 blob 95 3.48889 3 0;
+#X obj 802 311 blob 94 2.79111 3 0;
+#X obj 216 314 blob 91 0.697778 3 0;
+#X obj 26 286 blob 89 6.28 2.33333 0;
+#X obj 1601 287 blob 88 5.58222 2.33333 0;
+#X obj 1401 287 blob 87 4.88444 2.33333 0;
+#X obj 1201 287 blob 86 4.18667 2.33333 0;
+#X obj 1001 287 blob 85 3.48889 2.33333 0;
+#X obj 801 287 blob 84 2.79111 2.33333 0;
+#X obj 601 290 blob 83 2.09333 2.33333 0;
+#X obj 401 287 blob 82 1.39556 2.33333 0;
+#X obj 201 287 blob 81 0.697778 2.33333 0;
+#X obj 26 266 blob 79 6.28 1.66667 0;
+#X obj 1601 267 blob 78 5.58222 1.66667 0;
+#X obj 1401 267 blob 77 4.88444 1.66667 0;
+#X obj 1201 267 blob 76 4.18667 1.66667 0;
+#X obj 1001 267 blob 75 3.48889 1.66667 0;
+#X obj 801 267 blob 74 2.79111 1.66667 0;
+#X obj 601 267 blob 73 2.09333 1.66667 0;
+#X obj 401 267 blob 72 1.39556 1.66667 0;
+#X obj 198 267 blob 71 0.697778 1.66667 0;
+#X obj 26 246 blob 69 6.28 1 0;
+#X obj 1601 247 blob 68 5.58222 1 0;
+#X obj 1401 247 blob 67 4.88444 1 0;
+#X obj 1201 247 blob 66 4.18667 1 0;
+#X obj 1001 247 blob 65 3.48889 1 0;
+#X obj 801 247 blob 64 2.79111 1 0;
+#X obj 601 247 blob 63 2.09333 1 0;
+#X obj 201 247 blob 61 0.697778 1 0;
+#X obj 26 226 blob 59 6.28 0.333333 0;
+#X obj 1601 227 blob 58 5.58222 0.333333 0;
+#X obj 1401 227 blob 57 4.88444 0.333333 0;
+#X obj 1201 227 blob 56 4.18667 0.333333 0;
+#X obj 1001 227 blob 55 3.48889 0.333333 0;
+#X obj 801 227 blob 54 2.79111 0.333333 0;
+#X obj 601 227 blob 53 2.09333 0.333333 0;
+#X obj 401 227 blob 52 1.39556 0.333333 0;
+#X obj 202 228 blob 51 0.697778 0.333333 0;
+#X obj 26 206 blob 49 6.28 -0.333333 0;
+#X obj 1601 207 blob 48 5.58222 -0.333333 0;
+#X obj 1401 207 blob 47 4.88444 -0.333333 0;
+#X obj 1201 207 blob 46 4.18667 -0.333333 0;
+#X obj 1001 207 blob 45 3.48889 -0.333333 0;
+#X obj 801 207 blob 44 2.79111 -0.333333 0;
+#X obj 601 207 blob 43 2.09333 -0.333333 0;
+#X obj 401 207 blob 42 1.39556 -0.333333 0;
+#X obj 201 207 blob 41 0.697778 -0.333333 0;
+#X obj 26 186 blob 39 6.28 -1 0;
+#X obj 1601 187 blob 38 5.58222 -1 0;
+#X obj 1401 187 blob 37 4.88444 -1 0;
+#X obj 1201 187 blob 36 4.18667 -1 0;
+#X obj 1001 187 blob 35 3.48889 -1 0;
+#X obj 801 187 blob 34 2.79111 -1 0;
+#X obj 601 187 blob 33 2.09333 -1 0;
+#X obj 401 187 blob 32 1.39556 -1 0;
+#X obj 201 187 blob 31 0.697778 -1 0;
+#X obj 26 166 blob 29 6.28 -1.66667 0;
+#X obj 1601 167 blob 28 5.58222 -1.66667 0;
+#X obj 1401 167 blob 27 4.88444 -1.66667 0;
+#X obj 1201 167 blob 26 4.18667 -1.66667 0;
+#X obj 1001 167 blob 25 3.48889 -1.66667 0;
+#X obj 801 167 blob 24 2.79111 -1.66667 0;
+#X obj 601 167 blob 23 2.09333 -1.66667 0;
+#X obj 401 167 blob 22 1.39556 -1.66667 0;
+#X obj 201 167 blob 21 0.697778 -1.66667 0;
+#X obj 26 146 blob 19 6.28 -2.33333 0;
+#X obj 1601 147 blob 18 5.58222 -2.33333 0;
+#X obj 1401 147 blob 17 4.88444 -2.33333 0;
+#X obj 1201 147 blob 16 4.18667 -2.33333 0;
+#X obj 1001 147 blob 15 3.48889 -2.33333 0;
+#X obj 801 147 blob 14 2.79111 -2.33333 0;
+#X obj 601 147 blob 13 2.09333 -2.33333 0;
+#X obj 401 147 blob 12 1.39556 -2.33333 0;
+#X obj 201 147 blob 11 0.697778 -2.33333 0;
+#X obj 26 126 blob 9 6.28 -3 0;
+#X obj 1601 127 blob 8 5.58222 -3 0;
+#X obj 1401 127 blob 7 4.88444 -3 0;
+#X obj 1201 127 blob 6 4.18667 -3 0;
+#X obj 1001 127 blob 5 3.48889 -3 0;
+#X obj 801 127 blob 4 2.79111 -3 0;
+#X obj 601 127 blob 3 2.09333 -3 0;
+#X obj 401 127 blob 2 1.39556 -3 0;
+#X obj 201 127 blob 1 0.697778 -3 0;
+#X obj 598 322 blob 93 2.09333 3 0;
+#X obj 38 12 loadbang;
+#X obj 242 18 inlet;
+#X connect 0 0 59 0;
+#X connect 0 0 67 0;
+#X connect 0 0 68 0;
+#X connect 0 0 76 0;
+#X connect 1 0 35 1;
+#X connect 2 0 42 1;
+#X connect 3 0 36 1;
+#X connect 4 0 123 1;
+#X connect 5 0 41 1;
+#X connect 6 0 40 1;
+#X connect 7 0 39 1;
+#X connect 8 0 38 1;
+#X connect 9 0 37 1;
+#X connect 10 0 122 1;
+#X connect 11 0 121 1;
+#X connect 12 0 120 1;
+#X connect 13 0 119 1;
+#X connect 14 0 118 1;
+#X connect 15 0 117 1;
+#X connect 16 0 116 1;
+#X connect 17 0 115 1;
+#X connect 18 0 19 0;
+#X connect 18 0 22 0;
+#X connect 19 0 20 0;
+#X connect 20 0 3 1;
+#X connect 20 0 2 1;
+#X connect 20 0 1 1;
+#X connect 20 0 4 1;
+#X connect 20 0 5 1;
+#X connect 20 0 6 1;
+#X connect 20 0 7 1;
+#X connect 20 0 8 1;
+#X connect 20 0 9 1;
+#X connect 20 0 26 0;
+#X connect 21 0 11 1;
+#X connect 21 0 10 1;
+#X connect 21 0 12 1;
+#X connect 21 0 13 1;
+#X connect 21 0 14 1;
+#X connect 21 0 15 1;
+#X connect 21 0 16 1;
+#X connect 21 0 17 1;
+#X connect 21 0 29 0;
+#X connect 21 0 33 1;
+#X connect 22 0 23 0;
+#X connect 23 0 21 0;
+#X connect 24 0 25 0;
+#X connect 26 1 24 1;
+#X connect 26 2 24 2;
+#X connect 26 3 24 3;
+#X connect 27 0 28 0;
+#X connect 29 1 27 1;
+#X connect 29 2 27 2;
+#X connect 29 3 27 3;
+#X connect 30 0 31 0;
+#X connect 30 0 32 0;
+#X connect 31 0 24 0;
+#X connect 32 0 27 0;
+#X connect 33 0 114 1;
+#X connect 34 0 33 0;
+#X connect 34 0 10 0;
+#X connect 34 0 11 0;
+#X connect 34 0 12 0;
+#X connect 34 0 13 0;
+#X connect 34 0 14 0;
+#X connect 34 0 15 0;
+#X connect 34 0 16 0;
+#X connect 34 0 17 0;
+#X connect 34 0 1 0;
+#X connect 34 0 2 0;
+#X connect 34 0 3 0;
+#X connect 34 0 4 0;
+#X connect 34 0 5 0;
+#X connect 34 0 6 0;
+#X connect 34 0 7 0;
+#X connect 34 0 8 0;
+#X connect 34 0 9 0;
+#X connect 35 0 1 0;
+#X connect 35 0 37 0;
+#X connect 35 0 42 0;
+#X connect 35 0 43 0;
+#X connect 36 0 3 0;
+#X connect 36 0 42 0;
+#X connect 36 0 50 0;
+#X connect 36 0 123 0;
+#X connect 37 0 9 0;
+#X connect 37 0 35 0;
+#X connect 37 0 38 0;
+#X connect 37 0 44 0;
+#X connect 38 0 8 0;
+#X connect 38 0 37 0;
+#X connect 38 0 39 0;
+#X connect 38 0 45 0;
+#X connect 39 0 7 0;
+#X connect 39 0 38 0;
+#X connect 39 0 40 0;
+#X connect 39 0 46 0;
+#X connect 40 0 6 0;
+#X connect 40 0 39 0;
+#X connect 40 0 41 0;
+#X connect 40 0 47 0;
+#X connect 41 0 5 0;
+#X connect 41 0 40 0;
+#X connect 41 0 48 0;
+#X connect 41 0 123 0;
+#X connect 42 0 2 0;
+#X connect 42 0 35 0;
+#X connect 42 0 36 0;
+#X connect 42 0 51 0;
+#X connect 43 0 35 0;
+#X connect 43 0 44 0;
+#X connect 43 0 51 0;
+#X connect 43 0 52 0;
+#X connect 44 0 37 0;
+#X connect 44 0 43 0;
+#X connect 44 0 45 0;
+#X connect 44 0 53 0;
+#X connect 45 0 38 0;
+#X connect 45 0 44 0;
+#X connect 45 0 46 0;
+#X connect 45 0 54 0;
+#X connect 46 0 39 0;
+#X connect 46 0 45 0;
+#X connect 46 0 47 0;
+#X connect 46 0 55 0;
+#X connect 47 0 40 0;
+#X connect 47 0 46 0;
+#X connect 47 0 48 0;
+#X connect 47 0 56 0;
+#X connect 48 0 41 0;
+#X connect 48 0 47 0;
+#X connect 48 0 49 0;
+#X connect 48 0 57 0;
+#X connect 49 0 48 0;
+#X connect 49 0 50 0;
+#X connect 49 0 58 0;
+#X connect 49 0 123 0;
+#X connect 50 0 36 0;
+#X connect 50 0 49 0;
+#X connect 50 0 51 0;
+#X connect 50 0 59 0;
+#X connect 51 0 42 0;
+#X connect 51 0 43 0;
+#X connect 51 0 50 0;
+#X connect 51 0 60 0;
+#X connect 52 0 43 0;
+#X connect 52 0 53 0;
+#X connect 52 0 60 0;
+#X connect 52 0 61 0;
+#X connect 53 0 44 0;
+#X connect 53 0 52 0;
+#X connect 53 0 54 0;
+#X connect 53 0 62 0;
+#X connect 54 0 45 0;
+#X connect 54 0 53 0;
+#X connect 54 0 55 0;
+#X connect 54 0 63 0;
+#X connect 55 0 46 0;
+#X connect 55 0 54 0;
+#X connect 55 0 56 0;
+#X connect 55 0 64 0;
+#X connect 56 0 47 0;
+#X connect 56 0 55 0;
+#X connect 56 0 57 0;
+#X connect 56 0 65 0;
+#X connect 57 0 48 0;
+#X connect 57 0 56 0;
+#X connect 57 0 58 0;
+#X connect 57 0 66 0;
+#X connect 58 0 49 0;
+#X connect 58 0 57 0;
+#X connect 58 0 59 0;
+#X connect 58 0 67 0;
+#X connect 59 0 0 0;
+#X connect 59 0 50 0;
+#X connect 59 0 58 0;
+#X connect 59 0 60 0;
+#X connect 60 0 51 0;
+#X connect 60 0 52 0;
+#X connect 60 0 59 0;
+#X connect 60 0 68 0;
+#X connect 61 0 52 0;
+#X connect 61 0 62 0;
+#X connect 61 0 68 0;
+#X connect 61 0 69 0;
+#X connect 62 0 53 0;
+#X connect 62 0 61 0;
+#X connect 62 0 63 0;
+#X connect 62 0 70 0;
+#X connect 63 0 54 0;
+#X connect 63 0 62 0;
+#X connect 63 0 64 0;
+#X connect 63 0 71 0;
+#X connect 64 0 55 0;
+#X connect 64 0 63 0;
+#X connect 64 0 65 0;
+#X connect 64 0 72 0;
+#X connect 65 0 56 0;
+#X connect 65 0 64 0;
+#X connect 65 0 66 0;
+#X connect 65 0 73 0;
+#X connect 66 0 57 0;
+#X connect 66 0 65 0;
+#X connect 66 0 67 0;
+#X connect 66 0 74 0;
+#X connect 67 0 0 0;
+#X connect 67 0 58 0;
+#X connect 67 0 66 0;
+#X connect 67 0 75 0;
+#X connect 68 0 0 0;
+#X connect 68 0 60 0;
+#X connect 68 0 61 0;
+#X connect 68 0 77 0;
+#X connect 69 0 61 0;
+#X connect 69 0 70 0;
+#X connect 69 0 77 0;
+#X connect 69 0 78 0;
+#X connect 70 0 62 0;
+#X connect 70 0 69 0;
+#X connect 70 0 71 0;
+#X connect 70 0 79 0;
+#X connect 71 0 63 0;
+#X connect 71 0 70 0;
+#X connect 71 0 72 0;
+#X connect 71 0 80 0;
+#X connect 72 0 64 0;
+#X connect 72 0 71 0;
+#X connect 72 0 73 0;
+#X connect 72 0 81 0;
+#X connect 73 0 65 0;
+#X connect 73 0 72 0;
+#X connect 73 0 74 0;
+#X connect 73 0 82 0;
+#X connect 74 0 66 0;
+#X connect 74 0 73 0;
+#X connect 74 0 75 0;
+#X connect 74 0 83 0;
+#X connect 75 0 67 0;
+#X connect 75 0 74 0;
+#X connect 75 0 76 0;
+#X connect 75 0 84 0;
+#X connect 76 0 0 0;
+#X connect 76 0 75 0;
+#X connect 76 0 77 0;
+#X connect 76 0 85 0;
+#X connect 77 0 68 0;
+#X connect 77 0 69 0;
+#X connect 77 0 76 0;
+#X connect 77 0 86 0;
+#X connect 78 0 69 0;
+#X connect 78 0 79 0;
+#X connect 78 0 86 0;
+#X connect 78 0 87 0;
+#X connect 79 0 70 0;
+#X connect 79 0 78 0;
+#X connect 79 0 80 0;
+#X connect 79 0 88 0;
+#X connect 80 0 71 0;
+#X connect 80 0 79 0;
+#X connect 80 0 81 0;
+#X connect 80 0 89 0;
+#X connect 81 0 72 0;
+#X connect 81 0 80 0;
+#X connect 81 0 82 0;
+#X connect 81 0 90 0;
+#X connect 82 0 73 0;
+#X connect 82 0 81 0;
+#X connect 82 0 83 0;
+#X connect 82 0 91 0;
+#X connect 83 0 74 0;
+#X connect 83 0 82 0;
+#X connect 83 0 84 0;
+#X connect 83 0 92 0;
+#X connect 84 0 75 0;
+#X connect 84 0 83 0;
+#X connect 84 0 85 0;
+#X connect 84 0 93 0;
+#X connect 85 0 76 0;
+#X connect 85 0 84 0;
+#X connect 85 0 86 0;
+#X connect 85 0 94 0;
+#X connect 86 0 77 0;
+#X connect 86 0 78 0;
+#X connect 86 0 85 0;
+#X connect 86 0 95 0;
+#X connect 87 0 78 0;
+#X connect 87 0 88 0;
+#X connect 87 0 95 0;
+#X connect 87 0 96 0;
+#X connect 88 0 79 0;
+#X connect 88 0 87 0;
+#X connect 88 0 89 0;
+#X connect 88 0 97 0;
+#X connect 89 0 80 0;
+#X connect 89 0 88 0;
+#X connect 89 0 90 0;
+#X connect 89 0 98 0;
+#X connect 90 0 81 0;
+#X connect 90 0 89 0;
+#X connect 90 0 91 0;
+#X connect 90 0 99 0;
+#X connect 91 0 82 0;
+#X connect 91 0 90 0;
+#X connect 91 0 92 0;
+#X connect 91 0 100 0;
+#X connect 92 0 83 0;
+#X connect 92 0 91 0;
+#X connect 92 0 93 0;
+#X connect 92 0 101 0;
+#X connect 93 0 84 0;
+#X connect 93 0 92 0;
+#X connect 93 0 94 0;
+#X connect 93 0 102 0;
+#X connect 94 0 85 0;
+#X connect 94 0 93 0;
+#X connect 94 0 95 0;
+#X connect 94 0 103 0;
+#X connect 95 0 86 0;
+#X connect 95 0 87 0;
+#X connect 95 0 94 0;
+#X connect 95 0 104 0;
+#X connect 96 0 87 0;
+#X connect 96 0 97 0;
+#X connect 96 0 104 0;
+#X connect 96 0 105 0;
+#X connect 97 0 88 0;
+#X connect 97 0 96 0;
+#X connect 97 0 98 0;
+#X connect 97 0 106 0;
+#X connect 98 0 89 0;
+#X connect 98 0 97 0;
+#X connect 98 0 99 0;
+#X connect 98 0 107 0;
+#X connect 99 0 90 0;
+#X connect 99 0 98 0;
+#X connect 99 0 100 0;
+#X connect 99 0 108 0;
+#X connect 100 0 91 0;
+#X connect 100 0 99 0;
+#X connect 100 0 101 0;
+#X connect 100 0 109 0;
+#X connect 101 0 92 0;
+#X connect 101 0 100 0;
+#X connect 101 0 102 0;
+#X connect 101 0 110 0;
+#X connect 102 0 93 0;
+#X connect 102 0 101 0;
+#X connect 102 0 103 0;
+#X connect 102 0 111 0;
+#X connect 103 0 94 0;
+#X connect 103 0 102 0;
+#X connect 103 0 104 0;
+#X connect 103 0 112 0;
+#X connect 104 0 95 0;
+#X connect 104 0 96 0;
+#X connect 104 0 103 0;
+#X connect 104 0 113 0;
+#X connect 105 0 96 0;
+#X connect 105 0 106 0;
+#X connect 105 0 113 0;
+#X connect 105 0 114 0;
+#X connect 106 0 97 0;
+#X connect 106 0 105 0;
+#X connect 106 0 107 0;
+#X connect 106 0 115 0;
+#X connect 107 0 98 0;
+#X connect 107 0 106 0;
+#X connect 107 0 108 0;
+#X connect 107 0 116 0;
+#X connect 108 0 99 0;
+#X connect 108 0 107 0;
+#X connect 108 0 109 0;
+#X connect 108 0 117 0;
+#X connect 109 0 100 0;
+#X connect 109 0 108 0;
+#X connect 109 0 110 0;
+#X connect 109 0 118 0;
+#X connect 110 0 101 0;
+#X connect 110 0 109 0;
+#X connect 110 0 111 0;
+#X connect 110 0 119 0;
+#X connect 111 0 102 0;
+#X connect 111 0 110 0;
+#X connect 111 0 112 0;
+#X connect 111 0 120 0;
+#X connect 112 0 103 0;
+#X connect 112 0 111 0;
+#X connect 112 0 113 0;
+#X connect 112 0 121 0;
+#X connect 113 0 104 0;
+#X connect 113 0 105 0;
+#X connect 113 0 112 0;
+#X connect 113 0 122 0;
+#X connect 114 0 33 0;
+#X connect 114 0 105 0;
+#X connect 114 0 115 0;
+#X connect 114 0 122 0;
+#X connect 115 0 17 0;
+#X connect 115 0 106 0;
+#X connect 115 0 114 0;
+#X connect 115 0 116 0;
+#X connect 116 0 16 0;
+#X connect 116 0 107 0;
+#X connect 116 0 115 0;
+#X connect 116 0 117 0;
+#X connect 117 0 15 0;
+#X connect 117 0 108 0;
+#X connect 117 0 116 0;
+#X connect 117 0 118 0;
+#X connect 118 0 14 0;
+#X connect 118 0 109 0;
+#X connect 118 0 117 0;
+#X connect 118 0 119 0;
+#X connect 119 0 13 0;
+#X connect 119 0 110 0;
+#X connect 119 0 118 0;
+#X connect 119 0 120 0;
+#X connect 120 0 12 0;
+#X connect 120 0 111 0;
+#X connect 120 0 119 0;
+#X connect 120 0 121 0;
+#X connect 121 0 11 0;
+#X connect 121 0 112 0;
+#X connect 121 0 120 0;
+#X connect 121 0 122 0;
+#X connect 122 0 10 0;
+#X connect 122 0 113 0;
+#X connect 122 0 114 0;
+#X connect 122 0 121 0;
+#X connect 123 0 4 0;
+#X connect 123 0 36 0;
+#X connect 123 0 41 0;
+#X connect 123 0 49 0;
+#X connect 124 0 34 0;
+#X connect 125 0 18 0;
+#X restore 51 367 pd array;
+#X obj 31 35 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1
+;
+#X obj 106 226 s masse;
+#X msg 426 100 0 \, destroy;
+#X obj 187 69 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 203 95 loadbang;
+#X msg 344 153 reset;
+#X msg 140 150 resetF;
+#X obj 140 174 s link;
+#X obj 58 159 s lia;
+#X obj 239 152 s r_lia;
+#X msg 415 75 lighting 1 \, create \, 1;
+#X obj 74 180 s masse3;
+#X obj 31 106 t b b b;
+#X obj 415 227 ch_gemwin;
+#X obj 89 204 s masse2;
+#X text 213 68 <- reset;
+#X text 61 34 <- begin (change metro speed if to much);
+#X floatatom 74 57 5 0 0 0 - - -;
+#X obj 344 176 s masse2;
+#X obj 42 136 s link2;
+#X msg 187 151 resetF;
+#X obj 187 174 s link2;
+#X msg 291 153 bang;
+#X obj 291 176 s masse3;
+#X obj 44 258 iAmbient3D masse 0 0 0 0 0 0 0.113;
+#X obj 50 408 / 100;
+#X obj 31 80 metro 40;
+#X obj 54 347 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 1900 1;
+#X msg 51 322 45;
+#X text 293 9 "Blob" simulation;
+#X obj 187 120 trigger bang bang bang bang;
+#X text 566 76 <- create GEM windows;
+#X obj 51 298 loadbang;
+#X obj 53 388 hsl 128 15 20 100 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 12700 1;
+#X text 202 347 <- play here (change length of the blob);
+#X text 203 384 <- play here (change radius);
+#X msg 50 431 setKN \$1;
+#X obj 467 204 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 0 1;
+#X obj 450 181 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 0 1;
+#X obj 434 156 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 0 1;
+#X text 457 137 change camera position;
+#N canvas 0 0 454 304 gem 0;
+#X obj 21 73 world_light;
+#X obj 21 45 gemhead;
+#X obj 241 34 gemhead;
+#X obj 241 83 s gemhead;
+#X obj 241 58 color 1 1 1;
+#X obj 107 81 world_light;
+#X obj 107 35 gemhead;
+#X obj 107 57 rotateXYZ 30 150 0;
+#X connect 1 0 0 0;
+#X connect 2 0 4 0;
+#X connect 4 0 3 0;
+#X connect 6 0 7 0;
+#X connect 7 0 5 0;
+#X restore 513 318 pd gem;
+#N canvas 0 0 376 283 init 0;
+#X msg 28 80 0.5;
+#X msg 28 126 setK \$1;
+#X msg 209 125 setM \$1;
+#X obj 209 149 s masse;
+#X floatatom 28 104 5 0 0 0 - - -;
+#X floatatom 141 103 5 0 0 0 - - -;
+#X floatatom 209 104 5 0 0 0 - - -;
+#X msg 141 125 setD2 \$1;
+#X floatatom 85 104 5 0 0 0 - - -;
+#X msg 85 125 setD \$1;
+#X msg 141 79 0.03;
+#X obj 141 50 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X msg 85 79 0;
+#X obj 85 150 s link;
+#X obj 141 26 loadbang;
+#X msg 209 80 10;
+#X connect 0 0 4 0;
+#X connect 1 0 13 0;
+#X connect 2 0 3 0;
+#X connect 4 0 1 0;
+#X connect 5 0 7 0;
+#X connect 6 0 2 0;
+#X connect 7 0 13 0;
+#X connect 8 0 9 0;
+#X connect 9 0 13 0;
+#X connect 10 0 5 0;
+#X connect 11 0 12 0;
+#X connect 11 0 10 0;
+#X connect 11 0 15 0;
+#X connect 11 0 0 0;
+#X connect 12 0 8 0;
+#X connect 14 0 11 0;
+#X connect 15 0 6 0;
+#X restore 512 292 pd init;
+#X obj 31 456 iCylinder3D masse 0 0 1 0 0 -6 0 1.5 0 0.6;
+#X connect 1 0 27 0;
+#X connect 3 0 14 0;
+#X connect 4 0 31 0;
+#X connect 5 0 31 0;
+#X connect 6 0 19 0;
+#X connect 7 0 8 0;
+#X connect 11 0 14 0;
+#X connect 13 0 9 0;
+#X connect 13 0 20 0;
+#X connect 13 0 25 0;
+#X connect 13 0 44 0;
+#X connect 13 1 12 0;
+#X connect 13 1 15 0;
+#X connect 13 2 2 0;
+#X connect 18 0 27 1;
+#X connect 21 0 22 0;
+#X connect 23 0 24 0;
+#X connect 26 0 37 0;
+#X connect 27 0 13 0;
+#X connect 28 0 0 0;
+#X connect 29 0 28 0;
+#X connect 31 0 7 0;
+#X connect 31 0 21 0;
+#X connect 31 1 10 0;
+#X connect 31 2 23 0;
+#X connect 31 3 6 0;
+#X connect 33 0 29 0;
+#X connect 34 0 26 0;
+#X connect 37 0 44 0;
+#X connect 38 0 14 3;
+#X connect 39 0 14 2;
+#X connect 40 0 14 1;
diff --git a/examples/40_i3D.pd b/examples/40_i3D.pd
new file mode 100644
index 0000000..1177cbb
--- /dev/null
+++ b/examples/40_i3D.pd
@@ -0,0 +1,214 @@
+#N canvas 136 11 692 589 10;
+#X obj 33 84 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X msg 419 150 0 \, destroy;
+#X obj 431 424 world_light;
+#X obj 431 396 gemhead;
+#X obj 141 110 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 157 136 loadbang;
+#X msg 354 188 reset;
+#X msg 407 125 lighting 1 \, create \, 1;
+#X obj 33 155 t b b b;
+#X obj 407 262 ch_gemwin;
+#X text 167 109 <- reset;
+#X text 63 83 <- begin (change metro speed if to much);
+#X floatatom 76 106 5 0 0 0 - - -;
+#X obj 33 129 metro 40;
+#X obj 511 447 world_light;
+#X obj 511 401 gemhead;
+#X obj 511 423 rotateXYZ 30 150 0;
+#X text 549 125 <- create GEM windows;
+#X obj 141 161 t b b;
+#X obj 33 186 s link;
+#X obj 427 482 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#N canvas 0 0 967 703 array 0;
+#X obj 860 780 i3D 119 2 1 2;
+#X obj 0 0 i3D 0 -2 -2 -2;
+#X obj 200 0 i3D 1 -1 -2 -2;
+#X obj 400 0 i3D 2 0 -2 -2;
+#X obj 600 0 i3D 3 1 -2 -2;
+#X obj 800 0 i3D 4 2 -2 -2;
+#X obj 20 20 i3D 5 -2 -1 -2;
+#X obj 220 20 i3D 6 -1 -1 -2;
+#X obj 420 20 i3D 7 0 -1 -2;
+#X obj 620 20 i3D 8 1 -1 -2;
+#X obj 820 20 i3D 9 2 -1 -2;
+#X obj 40 40 i3D 10 -2 0 -2;
+#X obj 240 40 i3D 11 -1 0 -2;
+#X obj 440 40 i3D 12 0 0 -2;
+#X obj 640 40 i3D 13 1 0 -2;
+#X obj 840 40 i3D 14 2 0 -2;
+#X obj 60 60 i3D 15 -2 1 -2;
+#X obj 260 60 i3D 16 -1 1 -2;
+#X obj 460 60 i3D 17 0 1 -2;
+#X obj 660 60 i3D 18 1 1 -2;
+#X obj 860 60 i3D 19 2 1 -2;
+#X obj 80 80 i3D 20 -2 2 -2;
+#X obj 280 80 i3D 21 -1 2 -2;
+#X obj 480 80 i3D 22 0 2 -2;
+#X obj 680 80 i3D 23 1 2 -2;
+#X obj 880 80 i3D 24 2 2 -2;
+#X obj 0 180 i3D 25 -2 -2 -1;
+#X obj 200 180 i3D 26 -1 -2 -1;
+#X obj 400 180 i3D 27 0 -2 -1;
+#X obj 600 180 i3D 28 1 -2 -1;
+#X obj 800 180 i3D 29 2 -2 -1;
+#X obj 20 200 i3D 30 -2 -1 -1;
+#X obj 220 200 i3D 31 -1 -1 -1;
+#X obj 420 200 i3D 32 0 -1 -1;
+#X obj 620 200 i3D 33 1 -1 -1;
+#X obj 820 200 i3D 34 2 -1 -1;
+#X obj 40 220 i3D 35 -2 0 -1;
+#X obj 240 220 i3D 36 -1 0 -1;
+#X obj 440 220 i3D 37 0 0 -1;
+#X obj 640 220 i3D 38 1 0 -1;
+#X obj 840 220 i3D 39 2 0 -1;
+#X obj 60 240 i3D 40 -2 1 -1;
+#X obj 260 240 i3D 41 -1 1 -1;
+#X obj 460 240 i3D 42 0 1 -1;
+#X obj 660 240 i3D 43 1 1 -1;
+#X obj 860 240 i3D 44 2 1 -1;
+#X obj 80 260 i3D 45 -2 2 -1;
+#X obj 280 260 i3D 46 -1 2 -1;
+#X obj 480 260 i3D 47 0 2 -1;
+#X obj 680 260 i3D 48 1 2 -1;
+#X obj 880 260 i3D 49 2 2 -1;
+#X obj 0 360 i3D 50 -2 -2 0;
+#X obj 200 360 i3D 51 -1 -2 0;
+#X obj 400 360 i3D 52 0 -2 0;
+#X obj 600 360 i3D 53 1 -2 0;
+#X obj 800 360 i3D 54 2 -2 0;
+#X obj 20 380 i3D 55 -2 -1 0;
+#X obj 220 380 i3D 56 -1 -1 0;
+#X obj 420 380 i3D 57 0 -1 0;
+#X obj 620 380 i3D 58 1 -1 0;
+#X obj 820 380 i3D 59 2 -1 0;
+#X obj 40 400 i3D 60 -2 0 0;
+#X obj 240 400 i3D 61 -1 0 0;
+#X obj 440 400 i3D 62 0 0 0;
+#X obj 640 400 i3D 63 1 0 0;
+#X obj 840 400 i3D 64 2 0 0;
+#X obj 60 420 i3D 65 -2 1 0;
+#X obj 260 420 i3D 66 -1 1 0;
+#X obj 460 420 i3D 67 0 1 0;
+#X obj 660 420 i3D 68 1 1 0;
+#X obj 860 420 i3D 69 2 1 0;
+#X obj 80 440 i3D 70 -2 2 0;
+#X obj 280 440 i3D 71 -1 2 0;
+#X obj 480 440 i3D 72 0 2 0;
+#X obj 680 440 i3D 73 1 2 0;
+#X obj 880 440 i3D 74 2 2 0;
+#X obj 0 540 i3D 75 -2 -2 1;
+#X obj 200 540 i3D 76 -1 -2 1;
+#X obj 400 540 i3D 77 0 -2 1;
+#X obj 600 540 i3D 78 1 -2 1;
+#X obj 800 540 i3D 79 2 -2 1;
+#X obj 20 560 i3D 80 -2 -1 1;
+#X obj 220 560 i3D 81 -1 -1 1;
+#X obj 420 560 i3D 82 0 -1 1;
+#X obj 620 560 i3D 83 1 -1 1;
+#X obj 820 560 i3D 84 2 -1 1;
+#X obj 40 580 i3D 85 -2 0 1;
+#X obj 240 580 i3D 86 -1 0 1;
+#X obj 440 580 i3D 87 0 0 1;
+#X obj 640 580 i3D 88 1 0 1;
+#X obj 840 580 i3D 89 2 0 1;
+#X obj 60 600 i3D 90 -2 1 1;
+#X obj 260 600 i3D 91 -1 1 1;
+#X obj 460 600 i3D 92 0 1 1;
+#X obj 660 600 i3D 93 1 1 1;
+#X obj 860 600 i3D 94 2 1 1;
+#X obj 80 620 i3D 95 -2 2 1;
+#X obj 280 620 i3D 96 -1 2 1;
+#X obj 480 620 i3D 97 0 2 1;
+#X obj 680 620 i3D 98 1 2 1;
+#X obj 880 620 i3D 99 2 2 1;
+#X obj 0 720 i3D 100 -2 -2 2;
+#X obj 200 720 i3D 101 -1 -2 2;
+#X obj 400 720 i3D 102 0 -2 2;
+#X obj 600 720 i3D 103 1 -2 2;
+#X obj 800 720 i3D 104 2 -2 2;
+#X obj 20 740 i3D 105 -2 -1 2;
+#X obj 220 740 i3D 106 -1 -1 2;
+#X obj 420 740 i3D 107 0 -1 2;
+#X obj 620 740 i3D 108 1 -1 2;
+#X obj 820 740 i3D 109 2 -1 2;
+#X obj 40 760 i3D 110 -2 0 2;
+#X obj 240 760 i3D 111 -1 0 2;
+#X obj 440 760 i3D 112 0 0 2;
+#X obj 640 760 i3D 113 1 0 2;
+#X obj 840 760 i3D 114 2 0 2;
+#X obj 60 780 i3D 115 -2 1 2;
+#X obj 260 780 i3D 116 -1 1 2;
+#X obj 460 780 i3D 117 0 1 2;
+#X obj 660 780 i3D 118 1 1 2;
+#X obj 80 800 i3D 120 -2 2 2;
+#X obj 280 800 i3D 121 -1 2 2;
+#X obj 480 800 i3D 122 0 2 2;
+#X obj 680 800 i3D 123 1 2 2;
+#X obj 880 800 i3D 124 2 2 2;
+#X restore 431 448 pd array;
+#X obj 427 502 constructor 5 5 5 -2 2 -2 2 -2 2 i3D;
+#X obj 70 186 s mass;
+#X obj 354 211 s mass;
+#X obj 141 211 s link;
+#X obj 43 296 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 59 311 iAmbient3D mass 0 0 0 1 1 1;
+#X obj 42 341 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 43 387 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 42 434 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 42 482 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X msg 141 187 resetF \, setK 0.1 \, setD 1 \, setD2 1;
+#X text 287 9 interactors on a mass field;
+#X obj 58 497 iSphere3D mass 0 0 0 0.1 5 0 1;
+#X obj 42 528 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 59 402 iCylinder3D mass 1 1 1 0 0 0 0.1 5 0 0 0 0 0 -10 10 0
+0.5;
+#X obj 58 356 iCylinder3D mass 1 1 1 0 0 0 0.1 2 0 2;
+#X obj 58 449 iCircle3D mass 1 1 1 2 2 2 0.1 2 0 0 0 4 0 0.3;
+#X obj 58 543 iPlane3D mass 1 1 1 0 0 0 0 1;
+#X text 28 263 you can test the action of the interactor in a 3D space
+;
+#X text 213 32 this patch allows to see the displacement due to interactors
+in 3D;
+#X obj 426 187 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 0 1;
+#X obj 442 211 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 0 1;
+#X obj 459 234 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 0 1;
+#X text 505 169 camera position;
+#X connect 0 0 13 0;
+#X connect 1 0 9 0;
+#X connect 3 0 2 0;
+#X connect 4 0 18 0;
+#X connect 5 0 18 0;
+#X connect 6 0 24 0;
+#X connect 7 0 9 0;
+#X connect 8 0 19 0;
+#X connect 8 2 23 0;
+#X connect 12 0 13 1;
+#X connect 13 0 8 0;
+#X connect 15 0 16 0;
+#X connect 16 0 14 0;
+#X connect 18 0 32 0;
+#X connect 18 1 6 0;
+#X connect 20 0 22 0;
+#X connect 26 0 27 0;
+#X connect 28 0 37 0;
+#X connect 29 0 36 0;
+#X connect 30 0 38 0;
+#X connect 31 0 34 0;
+#X connect 32 0 25 0;
+#X connect 35 0 39 0;
+#X connect 42 0 9 1;
+#X connect 43 0 9 2;
+#X connect 44 0 9 3;
diff --git a/examples/41_morfing.pd b/examples/41_morfing.pd
new file mode 100644
index 0000000..175b41d
--- /dev/null
+++ b/examples/41_morfing.pd
@@ -0,0 +1,265 @@
+#N canvas 204 50 605 681 10;
+#X obj 34 71 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X msg 153 131 0 \, destroy;
+#X obj 334 481 world_light;
+#X obj 334 453 gemhead;
+#X obj 349 204 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 365 230 loadbang;
+#X msg 144 109 lighting 1 \, create \, 1;
+#X obj 33 139 t b b b;
+#X obj 144 244 ch_gemwin;
+#X text 375 203 <- reset;
+#X text 64 70 <- begin (change metro speed if to much);
+#X floatatom 77 93 5 0 0 0 - - -;
+#X obj 34 116 metro 40;
+#X obj 414 504 world_light;
+#X obj 414 458 gemhead;
+#X obj 414 480 rotateXYZ 30 150 0;
+#X text 294 108 <- create GEM windows;
+#X obj 334 547 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#N canvas 243 141 997 733 array 0;
+#X obj 220 380 i3D2 56 -1 -1 0;
+#X obj 80 80 i3D2 20 -2 2 -2;
+#X obj 400 360 i3D2 52 0 -2 0;
+#X obj 240 400 i3D2 61 -1 0 0;
+#X obj 20 20 i3D2 5 -2 -1 -2;
+#X obj 600 540 i3D2 78 1 -2 1;
+#X obj 480 440 i3D2 72 0 2 0;
+#X obj 200 180 i3D2 26 -1 -2 -1;
+#X obj 0 0 i3D2 0 -2 -2 -2;
+#X obj 200 0 i3D2 1 -1 -2 -2;
+#X obj 400 0 i3D2 2 0 -2 -2;
+#X obj 600 0 i3D2 3 1 -2 -2;
+#X obj 800 0 i3D2 4 2 -2 -2;
+#X obj 220 20 i3D2 6 -1 -1 -2;
+#X obj 420 20 i3D2 7 0 -1 -2;
+#X obj 620 20 i3D2 8 1 -1 -2;
+#X obj 820 20 i3D2 9 2 -1 -2;
+#X obj 40 40 i3D2 10 -2 0 -2;
+#X obj 240 40 i3D2 11 -1 0 -2;
+#X obj 440 40 i3D2 12 0 0 -2;
+#X obj 640 40 i3D2 13 1 0 -2;
+#X obj 840 40 i3D2 14 2 0 -2;
+#X obj 60 60 i3D2 15 -2 1 -2;
+#X obj 260 60 i3D2 16 -1 1 -2;
+#X obj 460 60 i3D2 17 0 1 -2;
+#X obj 660 60 i3D2 18 1 1 -2;
+#X obj 860 60 i3D2 19 2 1 -2;
+#X obj 280 80 i3D2 21 -1 2 -2;
+#X obj 480 80 i3D2 22 0 2 -2;
+#X obj 680 80 i3D2 23 1 2 -2;
+#X obj 880 80 i3D2 24 2 2 -2;
+#X obj 0 180 i3D2 25 -2 -2 -1;
+#X obj 400 180 i3D2 27 0 -2 -1;
+#X obj 600 180 i3D2 28 1 -2 -1;
+#X obj 800 180 i3D2 29 2 -2 -1;
+#X obj 20 200 i3D2 30 -2 -1 -1;
+#X obj 220 200 i3D2 31 -1 -1 -1;
+#X obj 420 200 i3D2 32 0 -1 -1;
+#X obj 620 200 i3D2 33 1 -1 -1;
+#X obj 820 200 i3D2 34 2 -1 -1;
+#X obj 40 220 i3D2 35 -2 0 -1;
+#X obj 240 220 i3D2 36 -1 0 -1;
+#X obj 440 220 i3D2 37 0 0 -1;
+#X obj 640 220 i3D2 38 1 0 -1;
+#X obj 840 220 i3D2 39 2 0 -1;
+#X obj 60 240 i3D2 40 -2 1 -1;
+#X obj 260 240 i3D2 41 -1 1 -1;
+#X obj 460 240 i3D2 42 0 1 -1;
+#X obj 660 240 i3D2 43 1 1 -1;
+#X obj 860 240 i3D2 44 2 1 -1;
+#X obj 80 260 i3D2 45 -2 2 -1;
+#X obj 280 260 i3D2 46 -1 2 -1;
+#X obj 480 260 i3D2 47 0 2 -1;
+#X obj 680 260 i3D2 48 1 2 -1;
+#X obj 880 260 i3D2 49 2 2 -1;
+#X obj 0 360 i3D2 50 -2 -2 0;
+#X obj 200 360 i3D2 51 -1 -2 0;
+#X obj 600 360 i3D2 53 1 -2 0;
+#X obj 800 360 i3D2 54 2 -2 0;
+#X obj 20 380 i3D2 55 -2 -1 0;
+#X obj 420 380 i3D2 57 0 -1 0;
+#X obj 620 380 i3D2 58 1 -1 0;
+#X obj 820 380 i3D2 59 2 -1 0;
+#X obj 40 400 i3D2 60 -2 0 0;
+#X obj 440 400 i3D2 62 0 0 0;
+#X obj 640 400 i3D2 63 1 0 0;
+#X obj 840 400 i3D2 64 2 0 0;
+#X obj 60 420 i3D2 65 -2 1 0;
+#X obj 260 420 i3D2 66 -1 1 0;
+#X obj 460 420 i3D2 67 0 1 0;
+#X obj 660 420 i3D2 68 1 1 0;
+#X obj 860 420 i3D2 69 2 1 0;
+#X obj 80 440 i3D2 70 -2 2 0;
+#X obj 280 440 i3D2 71 -1 2 0;
+#X obj 680 440 i3D2 73 1 2 0;
+#X obj 880 440 i3D2 74 2 2 0;
+#X obj 0 540 i3D2 75 -2 -2 1;
+#X obj 200 540 i3D2 76 -1 -2 1;
+#X obj 400 540 i3D2 77 0 -2 1;
+#X obj 800 540 i3D2 79 2 -2 1;
+#X obj 20 560 i3D2 80 -2 -1 1;
+#X obj 220 560 i3D2 81 -1 -1 1;
+#X obj 420 560 i3D2 82 0 -1 1;
+#X obj 620 560 i3D2 83 1 -1 1;
+#X obj 820 560 i3D2 84 2 -1 1;
+#X obj 40 580 i3D2 85 -2 0 1;
+#X obj 240 580 i3D2 86 -1 0 1;
+#X obj 440 580 i3D2 87 0 0 1;
+#X obj 640 580 i3D2 88 1 0 1;
+#X obj 840 580 i3D2 89 2 0 1;
+#X obj 60 600 i3D2 90 -2 1 1;
+#X obj 260 600 i3D2 91 -1 1 1;
+#X obj 460 600 i3D2 92 0 1 1;
+#X obj 660 600 i3D2 93 1 1 1;
+#X obj 860 600 i3D2 94 2 1 1;
+#X obj 80 620 i3D2 95 -2 2 1;
+#X obj 280 620 i3D2 96 -1 2 1;
+#X obj 480 620 i3D2 97 0 2 1;
+#X obj 680 620 i3D2 98 1 2 1;
+#X obj 880 620 i3D2 99 2 2 1;
+#X obj 0 720 i3D2 100 -2 -2 2;
+#X obj 200 720 i3D2 101 -1 -2 2;
+#X obj 400 720 i3D2 102 0 -2 2;
+#X obj 600 720 i3D2 103 1 -2 2;
+#X obj 800 720 i3D2 104 2 -2 2;
+#X obj 20 740 i3D2 105 -2 -1 2;
+#X obj 220 740 i3D2 106 -1 -1 2;
+#X obj 420 740 i3D2 107 0 -1 2;
+#X obj 620 740 i3D2 108 1 -1 2;
+#X obj 820 740 i3D2 109 2 -1 2;
+#X obj 40 760 i3D2 110 -2 0 2;
+#X obj 240 760 i3D2 111 -1 0 2;
+#X obj 440 760 i3D2 112 0 0 2;
+#X obj 640 760 i3D2 113 1 0 2;
+#X obj 840 760 i3D2 114 2 0 2;
+#X obj 60 780 i3D2 115 -2 1 2;
+#X obj 260 780 i3D2 116 -1 1 2;
+#X obj 460 780 i3D2 117 0 1 2;
+#X obj 660 780 i3D2 118 1 1 2;
+#X obj 860 780 i3D2 119 2 1 2;
+#X obj 80 800 i3D2 120 -2 2 2;
+#X obj 280 800 i3D2 121 -1 2 2;
+#X obj 480 800 i3D2 122 0 2 2;
+#X obj 680 800 i3D2 123 1 2 2;
+#X obj 880 800 i3D2 124 2 2 2;
+#X restore 334 505 pd array;
+#X obj 71 173 s mass;
+#X obj 349 351 s mass;
+#X obj 334 567 constructor 5 5 5 -2 2 -2 2 -2 2 i3D2;
+#X obj 366 307 s link1;
+#X obj 414 307 s link2;
+#X obj 39 652 s link1;
+#X msg 39 626 setK \$1;
+#X floatatom 39 605 5 0 0 0 - - -;
+#X msg 95 627 setK \$1;
+#X floatatom 95 606 5 0 0 0 - - -;
+#X obj 95 653 s link2;
+#X obj 29 208 s link1;
+#X obj 38 230 s link2;
+#X msg 157 627 setK \$1;
+#X floatatom 157 606 5 0 0 0 - - -;
+#X msg 213 628 setK \$1;
+#X floatatom 213 607 5 0 0 0 - - -;
+#X obj 461 307 s link3;
+#X obj 511 307 s link4;
+#X obj 157 653 s link3;
+#X obj 213 654 s link4;
+#X obj 49 252 s link3;
+#X obj 58 274 s link4;
+#X obj 39 577 unpack f f f f;
+#X msg 48 321 1 0 0 0;
+#X msg 68 366 0 1 0 0;
+#X msg 39 300 0 0 1 0;
+#X msg 59 342 0 0 0 1;
+#X msg 349 328 resetF;
+#X msg 365 279 setK 0 \, setD 1 \, setD2 1 \, resetF \, bang;
+#X msg 91 413 0 1 0 1;
+#X msg 101 435 0 0 0.1 3;
+#X obj 349 255 t b b b;
+#X msg 395 329 reset;
+#X msg 113 455 2 3 0 3;
+#X msg 81 390 0.1 0 0 0.1;
+#X text 301 6 morfing;
+#X text 128 21 each masss are link to 4 diferents point \, among diferents
+shapes. depending of the rigidity of the link \, the diferents shapes
+an be show;
+#X text 220 379 <- select diferents rigidity (and diferents shape)
+;
+#X obj 163 166 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 0 1;
+#X obj 179 190 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 0 1;
+#X obj 196 213 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 0 1;
+#X text 242 148 camera position;
+#X obj 125 549 pack f f f f;
+#X floatatom 125 497 5 0 0 0 - - -;
+#X floatatom 160 497 5 0 0 0 - - -;
+#X floatatom 195 497 5 0 0 0 - - -;
+#X floatatom 230 498 5 0 0 0 - - -;
+#X obj 160 517 t b f;
+#X obj 195 517 t b f;
+#X obj 230 517 t b f;
+#X connect 0 0 12 0;
+#X connect 1 0 8 0;
+#X connect 3 0 2 0;
+#X connect 4 0 51 0;
+#X connect 5 0 51 0;
+#X connect 6 0 8 0;
+#X connect 7 0 30 0;
+#X connect 7 0 31 0;
+#X connect 7 0 40 0;
+#X connect 7 0 41 0;
+#X connect 7 2 19 0;
+#X connect 11 0 12 1;
+#X connect 12 0 7 0;
+#X connect 14 0 15 0;
+#X connect 15 0 13 0;
+#X connect 17 0 21 0;
+#X connect 25 0 24 0;
+#X connect 26 0 25 0;
+#X connect 27 0 29 0;
+#X connect 28 0 27 0;
+#X connect 32 0 38 0;
+#X connect 33 0 32 0;
+#X connect 34 0 39 0;
+#X connect 35 0 34 0;
+#X connect 42 0 26 0;
+#X connect 42 1 28 0;
+#X connect 42 2 33 0;
+#X connect 42 3 35 0;
+#X connect 43 0 42 0;
+#X connect 44 0 42 0;
+#X connect 45 0 42 0;
+#X connect 46 0 42 0;
+#X connect 47 0 20 0;
+#X connect 48 0 22 0;
+#X connect 48 0 23 0;
+#X connect 48 0 36 0;
+#X connect 48 0 37 0;
+#X connect 49 0 42 0;
+#X connect 50 0 42 0;
+#X connect 51 0 47 0;
+#X connect 51 1 48 0;
+#X connect 51 2 52 0;
+#X connect 52 0 20 0;
+#X connect 53 0 42 0;
+#X connect 54 0 42 0;
+#X connect 58 0 8 1;
+#X connect 59 0 8 2;
+#X connect 60 0 8 3;
+#X connect 62 0 42 0;
+#X connect 63 0 62 0;
+#X connect 64 0 67 0;
+#X connect 65 0 68 0;
+#X connect 66 0 69 0;
+#X connect 67 0 62 0;
+#X connect 67 1 62 1;
+#X connect 68 0 62 0;
+#X connect 68 1 62 2;
+#X connect 69 0 62 0;
+#X connect 69 1 62 3;
diff --git a/examples/42_tentacule.pd b/examples/42_tentacule.pd
new file mode 100644
index 0000000..03bf052
--- /dev/null
+++ b/examples/42_tentacule.pd
@@ -0,0 +1,453 @@
+#N canvas 165 113 638 442 10;
+#N canvas 20 38 1340 956 tentacule 0;
+#X obj 482 749 gemhead;
+#X obj 114 173 mass3D M 1 1 -0.6 0;
+#X obj 277 123 mass3D M 1 0 -0.6 0;
+#X obj 364 170 mass3D M 1 -1 -0.6 0;
+#X obj 283 231 mass3D M 1 0 1.13 0;
+#X obj 115 402 mass3D M 1 1 -0.6 1;
+#X obj 305 370 mass3D M 1 0 -0.6 1;
+#X obj 414 402 mass3D M 1 -1 -0.6 1;
+#X obj 310 479 mass3D M 1 0 1.13 1;
+#X obj 351 448 link3D L 0 1;
+#X obj 245 446 link3D L 0 1;
+#X obj 250 400 link3D L 0 1;
+#X obj 324 401 link3D L 0 1;
+#X obj 348 336 link3D L2 0 1;
+#X obj 280 309 link3D L2 0 1;
+#X obj 263 247 link3D L2 0 1;
+#X obj 179 332 link3D L2 0 1;
+#X obj 77 266 link3D L2 0 1;
+#X obj 175 253 link3D L2 0 1;
+#X obj 354 258 link3D L2 0 1;
+#X obj 395 298 link3D L2 0 1;
+#X obj 306 201 link3D L 0 1;
+#X obj 218 198 link3D L 0 1;
+#X obj 222 152 link3D L 0 1;
+#X obj 297 152 link3D L 0 1;
+#X obj 838 302 link3D L2 0 1;
+#X obj 906 268 link3D L2 0 1;
+#X obj 1026 212 link3D L 0 1;
+#X obj 949 213 link3D L 0 1;
+#X obj 953 167 link3D L 0 1;
+#X obj 1028 167 link3D L 0 1;
+#X obj 696 325 link3D L2 0 1;
+#X obj 617 379 link3D L2 0 1;
+#X obj 618 175 link3D L2 0 1;
+#X obj 588 296 link3D L2 0 1;
+#X obj 496 245 link3D L2 0 1;
+#X obj 575 217 link3D L2 0 1;
+#X obj 750 232 link3D L2 0 1;
+#X obj 770 269 link3D L2 0 1;
+#X obj 287 44 link3D L 0 1;
+#X obj 431 96 link3D L 0 1;
+#X obj 506 147 link3D L 0 1;
+#X obj 84 119 link3D L 0 1;
+#X msg 88 91 position3D 1 -0.6 0;
+#X msg 529 29 position3D -1 -0.6 0;
+#X msg 577 122 position3D 0 1.13 0;
+#X msg 301 16 position3D 0 -0.6 0;
+#X obj 722 46 r M2;
+#X obj 722 72 route reset;
+#X obj 1003 361 link3D L3 0 1;
+#X obj 1051 316 link3D L3 0 1;
+#X obj 1108 283 link3D L3 0 1;
+#X obj 991 405 link3D L3 0 1;
+#X obj 1209 370 r M2;
+#X obj 1109 190 mass3D M 1 -0.5 -0.3 1.5;
+#X obj 1009 138 mass3D M 1 0 -0.3 1.5;
+#X obj 822 188 mass3D M 1 0.5 -0.3 1.5;
+#X obj 984 274 mass3D M 1 0 0.58 1.5;
+#X obj 465 776 curve3d 5 5;
+#X msg 198 573 set 0 1 \$1 \$2 \$3;
+#X msg 218 604 set 1 1 \$1 \$2 \$3;
+#X msg 239 621 set 2 1 \$1 \$2 \$3;
+#X msg 261 644 set 3 1 \$1 \$2 \$3;
+#X msg 278 666 set 4 1 \$1 \$2 \$3;
+#X msg 395 580 set 0 2 \$1 \$2 \$3;
+#X msg 417 606 set 1 2 \$1 \$2 \$3;
+#X msg 436 628 set 2 2 \$1 \$2 \$3;
+#X msg 458 651 set 3 2 \$1 \$2 \$3;
+#X msg 475 673 set 4 2 \$1 \$2 \$3;
+#X msg 666 580 set 0 3 \$1 \$2 \$3;
+#X msg 686 611 set 1 3 \$1 \$2 \$3;
+#X msg 706 628 set 2 3 \$1 \$2 \$3;
+#X msg 730 651 set 3 3 \$1 \$2 \$3;
+#X msg 746 673 set 4 3 \$1 \$2 \$3;
+#X msg 863 587 set 0 4 \$1 \$2 \$3;
+#X msg 884 613 set 1 4 \$1 \$2 \$3;
+#X msg 903 635 set 2 4 \$1 \$2 \$3;
+#X msg 926 658 set 3 4 \$1 \$2 \$3;
+#X msg 944 681 set 4 4 \$1 \$2 \$3;
+#X obj 43 568 loadbang;
+#X msg 88 649 set 2 0 0 -0.3 0;
+#X msg 106 687 set 3 0 0 -0.3 0;
+#X msg 53 596 set 0 0 0 -0.3 0;
+#X msg 70 628 set 1 0 0 -0.3 0;
+#X msg 123 709 set 4 0 0 -0.3 0;
+#X obj 1152 421 mass3D M 4 0 0 2;
+#X msg 6 64 setM \$1;
+#X obj 4 40 inlet;
+#X msg 148 42 setM \$1;
+#X obj 146 18 inlet;
+#X obj 836 40 inlet;
+#X connect 0 0 58 0;
+#X connect 1 0 13 0;
+#X connect 1 0 17 1;
+#X connect 1 0 22 0;
+#X connect 1 0 23 0;
+#X connect 1 0 62 0;
+#X connect 1 0 42 1;
+#X connect 2 0 15 0;
+#X connect 2 0 18 1;
+#X connect 2 0 23 1;
+#X connect 2 0 24 0;
+#X connect 2 0 59 0;
+#X connect 2 0 63 0;
+#X connect 2 0 39 0;
+#X connect 3 0 16 1;
+#X connect 3 0 20 0;
+#X connect 3 0 21 1;
+#X connect 3 0 24 1;
+#X connect 3 0 60 0;
+#X connect 3 0 40 0;
+#X connect 4 0 14 0;
+#X connect 4 0 19 0;
+#X connect 4 0 21 0;
+#X connect 4 0 22 1;
+#X connect 4 0 61 0;
+#X connect 4 0 41 0;
+#X connect 5 0 10 0;
+#X connect 5 0 11 0;
+#X connect 5 0 16 0;
+#X connect 5 0 17 0;
+#X connect 5 0 67 0;
+#X connect 5 0 35 0;
+#X connect 5 0 34 0;
+#X connect 6 0 11 1;
+#X connect 6 0 12 0;
+#X connect 6 0 15 1;
+#X connect 6 0 19 1;
+#X connect 6 0 64 0;
+#X connect 6 0 68 0;
+#X connect 6 0 33 0;
+#X connect 6 0 31 0;
+#X connect 7 0 9 1;
+#X connect 7 0 12 1;
+#X connect 7 0 13 1;
+#X connect 7 0 20 1;
+#X connect 7 0 65 0;
+#X connect 7 0 38 0;
+#X connect 7 0 36 0;
+#X connect 8 0 9 0;
+#X connect 8 0 10 1;
+#X connect 8 0 14 1;
+#X connect 8 0 18 0;
+#X connect 8 0 66 0;
+#X connect 8 0 32 0;
+#X connect 8 0 37 1;
+#X connect 9 0 8 0;
+#X connect 9 1 7 0;
+#X connect 10 0 5 0;
+#X connect 10 1 8 0;
+#X connect 11 0 5 0;
+#X connect 11 1 6 0;
+#X connect 12 0 6 0;
+#X connect 12 1 7 0;
+#X connect 13 0 1 0;
+#X connect 13 1 7 0;
+#X connect 14 0 4 0;
+#X connect 14 1 8 0;
+#X connect 15 0 2 0;
+#X connect 15 1 6 0;
+#X connect 16 0 5 0;
+#X connect 16 1 3 0;
+#X connect 17 0 5 0;
+#X connect 17 1 1 0;
+#X connect 18 0 8 0;
+#X connect 18 1 2 0;
+#X connect 19 0 4 0;
+#X connect 19 1 6 0;
+#X connect 20 0 3 0;
+#X connect 20 1 7 0;
+#X connect 21 0 4 0;
+#X connect 21 1 3 0;
+#X connect 22 0 1 0;
+#X connect 22 1 4 0;
+#X connect 23 0 1 0;
+#X connect 23 1 2 0;
+#X connect 24 0 2 0;
+#X connect 24 1 3 0;
+#X connect 25 1 56 0;
+#X connect 26 1 55 0;
+#X connect 27 0 57 0;
+#X connect 27 1 54 0;
+#X connect 28 0 56 0;
+#X connect 28 1 57 0;
+#X connect 29 0 56 0;
+#X connect 29 1 55 0;
+#X connect 30 0 55 0;
+#X connect 30 1 54 0;
+#X connect 31 0 6 0;
+#X connect 31 1 57 0;
+#X connect 32 0 8 0;
+#X connect 32 1 57 0;
+#X connect 33 0 6 0;
+#X connect 33 1 55 0;
+#X connect 34 0 5 0;
+#X connect 34 1 54 0;
+#X connect 35 0 5 0;
+#X connect 35 1 56 0;
+#X connect 36 0 7 0;
+#X connect 36 1 56 0;
+#X connect 37 0 55 0;
+#X connect 37 1 8 0;
+#X connect 38 0 7 0;
+#X connect 38 1 54 0;
+#X connect 39 0 2 0;
+#X connect 40 0 3 0;
+#X connect 41 0 4 0;
+#X connect 42 1 1 0;
+#X connect 43 0 42 0;
+#X connect 44 0 40 1;
+#X connect 45 0 41 1;
+#X connect 46 0 39 1;
+#X connect 47 0 48 0;
+#X connect 48 0 44 0;
+#X connect 48 0 45 0;
+#X connect 48 0 46 0;
+#X connect 48 0 43 0;
+#X connect 49 0 55 0;
+#X connect 49 1 85 0;
+#X connect 50 0 54 0;
+#X connect 50 1 85 0;
+#X connect 51 0 57 0;
+#X connect 51 1 85 0;
+#X connect 52 0 56 0;
+#X connect 52 1 85 0;
+#X connect 53 0 85 0;
+#X connect 54 0 27 1;
+#X connect 54 0 30 1;
+#X connect 54 0 70 0;
+#X connect 54 0 38 1;
+#X connect 54 0 34 1;
+#X connect 54 0 50 0;
+#X connect 55 0 26 1;
+#X connect 55 0 29 1;
+#X connect 55 0 30 0;
+#X connect 55 0 69 0;
+#X connect 55 0 73 0;
+#X connect 55 0 33 1;
+#X connect 55 0 37 0;
+#X connect 55 0 49 0;
+#X connect 56 0 25 1;
+#X connect 56 0 28 0;
+#X connect 56 0 29 0;
+#X connect 56 0 72 0;
+#X connect 56 0 35 1;
+#X connect 56 0 36 1;
+#X connect 56 0 52 0;
+#X connect 57 0 27 0;
+#X connect 57 0 28 1;
+#X connect 57 0 71 0;
+#X connect 57 0 32 1;
+#X connect 57 0 31 1;
+#X connect 57 0 51 0;
+#X connect 59 0 58 0;
+#X connect 60 0 58 0;
+#X connect 61 0 58 0;
+#X connect 62 0 58 0;
+#X connect 63 0 58 0;
+#X connect 64 0 58 0;
+#X connect 65 0 58 0;
+#X connect 66 0 58 0;
+#X connect 67 0 58 0;
+#X connect 68 0 58 0;
+#X connect 69 0 58 0;
+#X connect 70 0 58 0;
+#X connect 71 0 58 0;
+#X connect 72 0 58 0;
+#X connect 73 0 58 0;
+#X connect 74 0 58 0;
+#X connect 75 0 58 0;
+#X connect 76 0 58 0;
+#X connect 77 0 58 0;
+#X connect 78 0 58 0;
+#X connect 79 0 82 0;
+#X connect 79 0 83 0;
+#X connect 79 0 80 0;
+#X connect 79 0 81 0;
+#X connect 79 0 84 0;
+#X connect 80 0 58 0;
+#X connect 81 0 58 0;
+#X connect 82 0 58 0;
+#X connect 83 0 58 0;
+#X connect 84 0 58 0;
+#X connect 85 0 74 0;
+#X connect 85 0 78 0;
+#X connect 85 0 49 1;
+#X connect 85 0 50 1;
+#X connect 85 0 51 1;
+#X connect 85 0 52 1;
+#X connect 85 0 75 0;
+#X connect 85 0 76 0;
+#X connect 85 0 77 0;
+#X connect 86 0 17 0;
+#X connect 86 0 35 0;
+#X connect 86 0 52 0;
+#X connect 87 0 86 0;
+#X connect 88 0 15 0;
+#X connect 88 0 33 0;
+#X connect 88 0 49 0;
+#X connect 89 0 88 0;
+#X connect 90 0 58 0;
+#X restore 51 405 pd tentacule;
+#X msg 17 56 create \, 1;
+#X msg 27 77 0 \, destroy;
+#X msg 36 121 lighting 1;
+#X obj 367 144 t b b;
+#X obj 392 169 s M;
+#X obj 398 201 s L;
+#X obj 380 220 s L2;
+#X obj 480 101 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 500 143 t b b b;
+#X obj 566 213 s M;
+#X msg 566 190 reset;
+#X obj 528 222 s L;
+#X obj 510 241 s L2;
+#X msg 518 188 resetL;
+#X msg 500 167 resetF;
+#X obj 593 214 s M2;
+#X obj 500 263 s L3;
+#X obj 367 242 s L3;
+#X obj 17 238 ch_gemwin 50;
+#X obj 367 120 gemhead;
+#X obj 121 309 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 0 1;
+#X obj 121 333 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 0 1;
+#X obj 51 359 / 150;
+#X obj 84 359 / 150;
+#X obj 84 383 + 0.6;
+#X obj 51 383 + 0.6;
+#X msg 136 356 draw control_line;
+#X msg 136 385 draw fill;
+#X obj 36 98 loadbang;
+#N canvas 0 0 452 302 light 0;
+#X obj 43 70 gemhead;
+#X obj 43 114 world_light;
+#X obj 43 25 gemhead;
+#X obj 43 49 world_light;
+#X obj 43 92 rotateXYZ 230 0 80;
+#X connect 0 0 4 0;
+#X connect 2 0 3 0;
+#X connect 4 0 1 0;
+#X restore 272 222 pd light;
+#X obj 500 119 loadbang;
+#N canvas 0 0 547 274 init 0;
+#X obj 11 125 s M;
+#X msg 11 102 setM \$1;
+#X msg 17 58 13;
+#X msg 91 109 setD \$1;
+#X obj 91 138 s L;
+#X floatatom 90 86 5 0 0 0 - - -;
+#X obj 153 137 s L;
+#X floatatom 152 85 5 0 0 0 - - -;
+#X msg 153 108 setK \$1;
+#X msg 93 59 2;
+#X msg 216 109 setD \$1;
+#X floatatom 215 86 5 0 0 0 - - -;
+#X floatatom 277 85 5 0 0 0 - - -;
+#X msg 278 108 setK \$1;
+#X msg 218 59 2;
+#X obj 216 138 s L2;
+#X obj 278 137 s L2;
+#X msg 165 55 5;
+#X msg 290 55 0.7;
+#X msg 343 108 setD \$1;
+#X floatatom 342 85 5 0 0 0 - - -;
+#X floatatom 416 89 5 0 0 0 - - -;
+#X msg 417 112 setK \$1;
+#X obj 343 137 s L3;
+#X obj 417 141 s L3;
+#X msg 429 59 1;
+#X msg 345 58 3;
+#X obj 84 -14 loadbang;
+#X floatatom 9 79 5 0 0 0 - - -;
+#X connect 1 0 0 0;
+#X connect 2 0 1 0;
+#X connect 3 0 4 0;
+#X connect 5 0 3 0;
+#X connect 7 0 8 0;
+#X connect 8 0 6 0;
+#X connect 9 0 3 0;
+#X connect 10 0 15 0;
+#X connect 11 0 10 0;
+#X connect 12 0 13 0;
+#X connect 13 0 16 0;
+#X connect 14 0 10 0;
+#X connect 17 0 8 0;
+#X connect 18 0 13 0;
+#X connect 19 0 23 0;
+#X connect 20 0 19 0;
+#X connect 21 0 22 0;
+#X connect 22 0 24 0;
+#X connect 25 0 22 0;
+#X connect 26 0 19 0;
+#X connect 27 0 9 0;
+#X connect 27 0 17 0;
+#X connect 27 0 14 0;
+#X connect 27 0 18 0;
+#X connect 27 0 26 0;
+#X connect 27 0 25 0;
+#X connect 27 0 2 0;
+#X connect 28 0 1 0;
+#X restore 272 247 pd init;
+#X text 522 98 <- reset;
+#X text 280 319 <- change lenght of some link to distord the structure
+;
+#X text 283 10 muscle exemples;
+#X text 158 26 you can change the lengh of some like to distord the
+structure;
+#X obj 42 154 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 0 1;
+#X obj 64 178 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 0 1;
+#X obj 87 201 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 0 1;
+#X text 129 136 camera position;
+#X connect 1 0 19 0;
+#X connect 2 0 19 0;
+#X connect 3 0 19 0;
+#X connect 4 0 6 0;
+#X connect 4 0 7 0;
+#X connect 4 0 18 0;
+#X connect 4 1 5 0;
+#X connect 8 0 9 0;
+#X connect 9 0 15 0;
+#X connect 9 1 14 0;
+#X connect 9 2 11 0;
+#X connect 11 0 10 0;
+#X connect 11 0 16 0;
+#X connect 14 0 12 0;
+#X connect 14 0 13 0;
+#X connect 14 0 17 0;
+#X connect 15 0 10 0;
+#X connect 15 0 13 0;
+#X connect 15 0 12 0;
+#X connect 15 0 17 0;
+#X connect 20 0 4 0;
+#X connect 21 0 23 0;
+#X connect 22 0 24 0;
+#X connect 23 0 26 0;
+#X connect 24 0 25 0;
+#X connect 25 0 0 1;
+#X connect 26 0 0 0;
+#X connect 27 0 0 2;
+#X connect 28 0 0 2;
+#X connect 29 0 3 0;
+#X connect 31 0 9 0;
+#X connect 37 0 19 1;
+#X connect 38 0 19 2;
+#X connect 39 0 19 3;
diff --git a/examples/43_game.pd b/examples/43_game.pd
new file mode 100644
index 0000000..22d4341
--- /dev/null
+++ b/examples/43_game.pd
@@ -0,0 +1,1251 @@
+#N canvas 161 34 536 536 10;
+#X obj 32 137 t b b;
+#X obj 32 89 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1
+;
+#X obj 260 176 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 283 198 loadbang;
+#X obj 57 160 s \$0-link;
+#X obj 32 187 s \$0-mass;
+#X msg 308 269 reset;
+#X msg 283 316 resetF;
+#X msg 168 137 0 \, destroy;
+#X obj 134 165 gemwin;
+#N canvas 1361 275 872 665 space_ship 0;
+#X obj 89 18 r \$0-link;
+#X obj 13 18 r \$0-mass;
+#X obj 323 371 gemhead;
+#X obj 323 435 translateXYZ;
+#X obj 311 406 unpack s f f;
+#X obj 200 377 gemhead;
+#X obj 200 441 translateXYZ;
+#X obj 188 412 unpack s f f;
+#X obj 70 383 gemhead;
+#X obj 74 456 translateXYZ;
+#X obj 58 418 unpack s f f;
+#X obj 406 380 gemhead;
+#X obj 406 444 translateXYZ;
+#X obj 394 415 unpack s f f;
+#X obj 68 239 link2D ship 0.6 0.1 0.1;
+#X obj 388 234 link2D ship 0.6 0.1 0.1;
+#X obj 392 285 link2D ship 0.3 0.1 0.1;
+#X obj 71 291 link2D ship 0.3 0.1 0.1;
+#X obj 69 341 mass2D ship_rearL 1 0.15 -0.3;
+#X obj 400 341 mass2D ship_rearR 1 -0.15 -0.3;
+#X obj 408 528 sphere 0.05;
+#X obj 71 535 sphere 0.05;
+#X obj 326 466 sphere 0.05;
+#X obj 135 116 tLink2D;
+#X obj 199 467 rotateXYZ;
+#X obj 71 510 scaleXYZ 2 1 1;
+#X obj 408 494 scaleXYZ 2 1 1;
+#X obj 74 485 rotateXYZ;
+#X obj 409 468 rotateXYZ;
+#X obj 206 545 sphere 0.2;
+#X msg 530 445 25;
+#X obj 528 421 loadbang;
+#X obj 234 23 mass2D ship_front 2 0 0.3;
+#X obj 199 514 ambientRGB 0 1 0;
+#X msg 673 120 setXY \$1 \$2;
+#X obj 697 28 inlet;
+#X msg 687 202 setXY \$1 \$2;
+#X obj 231 166 mass2D ship_body 3 0 0;
+#X obj 643 25 inlet;
+#X msg 601 325 setXY \$1 \$2;
+#X obj 201 492 scaleXYZ 1.5 0.5 0.5;
+#X obj 520 21 inlet;
+#N canvas 654 146 482 495 8_bulet 0;
+#X obj 170 34 inlet;
+#X obj 301 33 inlet;
+#X obj 36 22 inlet;
+#N canvas 0 0 474 556 bullet 0;
+#X obj 142 24 inlet;
+#X obj 220 24 inlet;
+#X obj 36 22 inlet;
+#X obj 240 278 gemhead;
+#X obj 228 350 translateXYZ;
+#X obj 220 307 unpack s f f;
+#X obj 222 384 sphere 0.03;
+#X msg 220 173 setXY \$1 \$2;
+#X obj 143 202 r \$0-mass;
+#X obj 36 44 t b b;
+#X obj 129 238 mass2D bulet 1 10 10;
+#X obj 142 49 unpack s f f;
+#X obj 136 131 pack f f;
+#X obj 134 106 f;
+#X msg 133 154 setXY \$1 \$2;
+#X obj 119 283 s bulletpos;
+#X obj 220 203 iCircle2D foo 0 0 0 1 0 0 0.04;
+#X connect 0 0 11 0;
+#X connect 1 0 7 0;
+#X connect 2 0 9 0;
+#X connect 3 0 4 0;
+#X connect 4 0 6 0;
+#X connect 5 1 4 1;
+#X connect 5 2 4 2;
+#X connect 7 0 16 0;
+#X connect 8 0 10 0;
+#X connect 9 0 16 0;
+#X connect 9 1 13 0;
+#X connect 10 0 5 0;
+#X connect 10 0 15 0;
+#X connect 11 1 13 1;
+#X connect 11 2 12 1;
+#X connect 12 0 14 0;
+#X connect 13 0 12 0;
+#X connect 14 0 10 0;
+#X connect 16 0 10 0;
+#X restore 252 360 pd bullet;
+#N canvas 497 321 480 418 bullet 0;
+#X obj 142 24 inlet;
+#X obj 139 278 gemhead;
+#X obj 140 328 translateXYZ;
+#X obj 123 304 unpack s f f;
+#X obj 130 357 sphere 0.03;
+#X obj 220 24 inlet;
+#X msg 220 173 setXY \$1 \$2;
+#X obj 143 202 r \$0-mass;
+#X obj 36 22 inlet;
+#X obj 36 44 t b b;
+#X obj 129 238 mass2D bulet 1 10 10;
+#X obj 142 49 unpack s f f;
+#X obj 136 131 pack f f;
+#X obj 134 106 f;
+#X msg 133 154 setXY \$1 \$2;
+#X obj 211 283 s bulletpos;
+#X obj 220 203 iCircle2D foo 0 0 0 1 0 0 0.04;
+#X connect 0 0 11 0;
+#X connect 1 0 2 0;
+#X connect 2 0 4 0;
+#X connect 3 1 2 1;
+#X connect 3 2 2 2;
+#X connect 5 0 6 0;
+#X connect 6 0 16 0;
+#X connect 7 0 10 0;
+#X connect 8 0 9 0;
+#X connect 9 0 16 0;
+#X connect 9 1 13 0;
+#X connect 10 0 3 0;
+#X connect 10 0 15 0;
+#X connect 11 1 13 1;
+#X connect 11 2 12 1;
+#X connect 12 0 14 0;
+#X connect 13 0 12 0;
+#X connect 14 0 10 0;
+#X connect 16 0 10 0;
+#X restore 146 193 pd bullet;
+#N canvas 0 0 468 318 bullet 0;
+#X obj 142 24 inlet;
+#X obj 220 24 inlet;
+#X obj 36 22 inlet;
+#X obj 139 278 gemhead;
+#X obj 207 329 translateXYZ;
+#X obj 182 304 unpack s f f;
+#X obj 232 354 sphere 0.03;
+#X msg 220 173 setXY \$1 \$2;
+#X obj 143 202 r \$0-mass;
+#X obj 36 44 t b b;
+#X obj 129 238 mass2D bulet 1 10 10;
+#X obj 142 49 unpack s f f;
+#X obj 136 131 pack f f;
+#X obj 134 106 f;
+#X msg 133 154 setXY \$1 \$2;
+#X obj 72 273 s bulletpos;
+#X obj 220 203 iCircle2D foo 0 0 0 1 0 0 0.04;
+#X connect 0 0 11 0;
+#X connect 1 0 7 0;
+#X connect 2 0 9 0;
+#X connect 3 0 4 0;
+#X connect 4 0 6 0;
+#X connect 5 1 4 1;
+#X connect 5 2 4 2;
+#X connect 7 0 16 0;
+#X connect 8 0 10 0;
+#X connect 9 0 16 0;
+#X connect 9 1 13 0;
+#X connect 10 0 5 0;
+#X connect 10 0 15 0;
+#X connect 11 1 13 1;
+#X connect 11 2 12 1;
+#X connect 12 0 14 0;
+#X connect 13 0 12 0;
+#X connect 14 0 10 0;
+#X connect 16 0 10 0;
+#X restore 161 217 pd bullet;
+#N canvas 0 0 468 318 bullet 0;
+#X obj 142 24 inlet;
+#X obj 220 24 inlet;
+#X obj 33 19 inlet;
+#X obj 139 278 gemhead;
+#X obj 201 331 translateXYZ;
+#X obj 173 305 unpack s f f;
+#X obj 219 360 sphere 0.03;
+#X msg 220 173 setXY \$1 \$2;
+#X obj 143 202 r \$0-mass;
+#X obj 36 44 t b b;
+#X obj 129 238 mass2D bulet 1 10 10;
+#X obj 142 49 unpack s f f;
+#X obj 136 131 pack f f;
+#X obj 134 106 f;
+#X msg 133 154 setXY \$1 \$2;
+#X obj 204 268 s bulletpos;
+#X obj 220 203 iCircle2D foo 0 0 0 1 0 0 0.04;
+#X connect 0 0 11 0;
+#X connect 1 0 7 0;
+#X connect 2 0 9 0;
+#X connect 3 0 4 0;
+#X connect 4 0 6 0;
+#X connect 5 1 4 1;
+#X connect 5 2 4 2;
+#X connect 7 0 16 0;
+#X connect 8 0 10 0;
+#X connect 9 0 16 0;
+#X connect 9 1 13 0;
+#X connect 10 0 5 0;
+#X connect 10 0 15 0;
+#X connect 11 1 13 1;
+#X connect 11 2 12 1;
+#X connect 12 0 14 0;
+#X connect 13 0 12 0;
+#X connect 14 0 10 0;
+#X connect 16 0 10 0;
+#X restore 177 241 pd bullet;
+#N canvas 0 0 466 370 bullet 0;
+#X obj 142 24 inlet;
+#X obj 220 24 inlet;
+#X obj 36 22 inlet;
+#X obj 206 281 gemhead;
+#X obj 230 335 translateXYZ;
+#X obj 185 302 unpack s f f;
+#X obj 243 365 sphere 0.03;
+#X msg 220 173 setXY \$1 \$2;
+#X obj 143 202 r \$0-mass;
+#X obj 36 44 t b b;
+#X obj 129 238 mass2D bulet 1 10 10;
+#X obj 142 49 unpack s f f;
+#X obj 136 131 pack f f;
+#X obj 134 106 f;
+#X msg 133 154 setXY \$1 \$2;
+#X obj 119 283 s bulletpos;
+#X obj 220 203 iCircle2D foo 0 0 0 1 0 0 0.04;
+#X connect 0 0 11 0;
+#X connect 1 0 7 0;
+#X connect 2 0 9 0;
+#X connect 3 0 4 0;
+#X connect 4 0 6 0;
+#X connect 5 1 4 1;
+#X connect 5 2 4 2;
+#X connect 7 0 16 0;
+#X connect 8 0 10 0;
+#X connect 9 0 16 0;
+#X connect 9 1 13 0;
+#X connect 10 0 5 0;
+#X connect 10 0 15 0;
+#X connect 11 1 13 1;
+#X connect 11 2 12 1;
+#X connect 12 0 14 0;
+#X connect 13 0 12 0;
+#X connect 14 0 10 0;
+#X connect 16 0 10 0;
+#X restore 189 265 pd bullet;
+#N canvas 0 0 468 377 bullet 0;
+#X obj 142 24 inlet;
+#X obj 220 24 inlet;
+#X obj 36 22 inlet;
+#X obj 179 278 gemhead;
+#X obj 205 330 translateXYZ;
+#X obj 182 303 unpack s f f;
+#X obj 209 356 sphere 0.03;
+#X msg 220 173 setXY \$1 \$2;
+#X obj 143 202 r \$0-mass;
+#X obj 36 44 t b b;
+#X obj 129 238 mass2D bulet 1 10 10;
+#X obj 142 49 unpack s f f;
+#X obj 136 131 pack f f;
+#X obj 134 106 f;
+#X msg 133 154 setXY \$1 \$2;
+#X obj 119 283 s bulletpos;
+#X obj 220 203 iCircle2D foo 0 0 0 1 0 0 0.04;
+#X connect 0 0 11 0;
+#X connect 1 0 7 0;
+#X connect 2 0 9 0;
+#X connect 3 0 4 0;
+#X connect 4 0 6 0;
+#X connect 5 1 4 1;
+#X connect 5 2 4 2;
+#X connect 7 0 16 0;
+#X connect 8 0 10 0;
+#X connect 9 0 16 0;
+#X connect 9 1 13 0;
+#X connect 10 0 5 0;
+#X connect 10 0 15 0;
+#X connect 11 1 13 1;
+#X connect 11 2 12 1;
+#X connect 12 0 14 0;
+#X connect 13 0 12 0;
+#X connect 14 0 10 0;
+#X connect 16 0 10 0;
+#X restore 205 289 pd bullet;
+#N canvas 0 0 464 453 bullet 0;
+#X obj 142 24 inlet;
+#X obj 220 24 inlet;
+#X obj 36 22 inlet;
+#X obj 228 277 gemhead;
+#X obj 195 336 translateXYZ;
+#X obj 199 305 unpack s f f;
+#X obj 185 366 sphere 0.03;
+#X msg 220 173 setXY \$1 \$2;
+#X obj 143 202 r \$0-mass;
+#X obj 36 44 t b b;
+#X obj 129 238 mass2D bulet 1 10 10;
+#X obj 142 49 unpack s f f;
+#X obj 136 131 pack f f;
+#X obj 134 106 f;
+#X msg 133 154 setXY \$1 \$2;
+#X obj 119 283 s bulletpos;
+#X obj 220 203 iCircle2D foo 0 0 0 1 0 0 0.04;
+#X connect 0 0 11 0;
+#X connect 1 0 7 0;
+#X connect 2 0 9 0;
+#X connect 3 0 4 0;
+#X connect 4 0 6 0;
+#X connect 5 1 4 1;
+#X connect 5 2 4 2;
+#X connect 7 0 16 0;
+#X connect 8 0 10 0;
+#X connect 9 0 16 0;
+#X connect 9 1 13 0;
+#X connect 10 0 5 0;
+#X connect 10 0 15 0;
+#X connect 11 1 13 1;
+#X connect 11 2 12 1;
+#X connect 12 0 14 0;
+#X connect 13 0 12 0;
+#X connect 14 0 10 0;
+#X connect 16 0 10 0;
+#X restore 220 313 pd bullet;
+#N canvas 0 0 464 454 bullet 0;
+#X obj 142 24 inlet;
+#X obj 220 24 inlet;
+#X obj 36 22 inlet;
+#X obj 220 283 gemhead;
+#X obj 202 337 translateXYZ;
+#X obj 201 308 unpack s f f;
+#X obj 186 364 sphere 0.03;
+#X msg 220 173 setXY \$1 \$2;
+#X obj 143 202 r \$0-mass;
+#X obj 36 44 t b b;
+#X obj 129 238 mass2D bulet 1 10 10;
+#X obj 142 49 unpack s f f;
+#X obj 136 131 pack f f;
+#X obj 134 106 f;
+#X msg 133 154 setXY \$1 \$2;
+#X obj 119 283 s bulletpos;
+#X obj 220 203 iCircle2D foo 0 0 0 1 0 0 0.04;
+#X connect 0 0 11 0;
+#X connect 1 0 7 0;
+#X connect 2 0 9 0;
+#X connect 3 0 4 0;
+#X connect 4 0 6 0;
+#X connect 5 1 4 1;
+#X connect 5 2 4 2;
+#X connect 7 0 16 0;
+#X connect 8 0 10 0;
+#X connect 9 0 16 0;
+#X connect 9 1 13 0;
+#X connect 10 0 5 0;
+#X connect 10 0 15 0;
+#X connect 11 1 13 1;
+#X connect 11 2 12 1;
+#X connect 12 0 14 0;
+#X connect 13 0 12 0;
+#X connect 14 0 10 0;
+#X connect 16 0 10 0;
+#X restore 236 337 pd bullet;
+#X obj 36 94 % 8;
+#X obj 36 125 sel 0 1 2 3 4 5 6 7;
+#X obj 36 71 + 1;
+#X msg 36 45 1;
+#X connect 0 0 3 1;
+#X connect 0 0 4 1;
+#X connect 0 0 5 1;
+#X connect 0 0 6 1;
+#X connect 0 0 7 1;
+#X connect 0 0 8 1;
+#X connect 0 0 9 1;
+#X connect 0 0 10 1;
+#X connect 1 0 3 2;
+#X connect 1 0 4 2;
+#X connect 1 0 5 2;
+#X connect 1 0 6 2;
+#X connect 1 0 7 2;
+#X connect 1 0 8 2;
+#X connect 1 0 9 2;
+#X connect 1 0 10 2;
+#X connect 2 0 14 0;
+#X connect 11 0 12 0;
+#X connect 11 0 13 1;
+#X connect 12 0 3 0;
+#X connect 12 1 10 0;
+#X connect 12 2 9 0;
+#X connect 12 3 8 0;
+#X connect 12 4 7 0;
+#X connect 12 5 6 0;
+#X connect 12 6 5 0;
+#X connect 12 7 4 0;
+#X connect 13 0 11 0;
+#X connect 14 0 13 0;
+#X restore 218 583 pd 8_bulet;
+#X obj 458 18 inlet;
+#X msg 610 392 setXY \$1 \$2;
+#X obj 585 22 inlet;
+#X obj 318 559 s space_ship;
+#X obj 673 150 iCircle2D foo 0 0 0 1 0 0.003;
+#X obj 693 229 iCircle2D foo 0 0 0 1 0 -0.003;
+#X obj 600 353 iCircle2D foo 0 0 0 1 -0.03;
+#X obj 611 430 iCircle2D foo 0 0 0 1 0.03;
+#X msg 689 87 dXY 0.1 0;
+#X msg 654 60 dXY -0.1 0;
+#X obj 228 313 link2D ship 0.2 0.1 0.1;
+#X obj 237 64 link2D ship 0.3 0.1 0.1;
+#X connect 0 0 14 0;
+#X connect 0 0 15 0;
+#X connect 0 0 16 0;
+#X connect 0 0 17 0;
+#X connect 0 0 23 0;
+#X connect 0 0 53 0;
+#X connect 0 0 54 0;
+#X connect 1 0 18 0;
+#X connect 1 0 19 0;
+#X connect 1 0 32 0;
+#X connect 1 0 37 0;
+#X connect 2 0 3 0;
+#X connect 3 0 22 0;
+#X connect 4 1 3 1;
+#X connect 4 2 3 2;
+#X connect 5 0 6 0;
+#X connect 6 0 24 0;
+#X connect 7 1 6 1;
+#X connect 7 2 6 2;
+#X connect 8 0 9 0;
+#X connect 9 0 27 0;
+#X connect 10 1 9 1;
+#X connect 10 2 9 2;
+#X connect 11 0 12 0;
+#X connect 12 0 28 0;
+#X connect 13 1 12 1;
+#X connect 13 2 12 2;
+#X connect 14 0 18 0;
+#X connect 14 1 32 0;
+#X connect 15 0 32 0;
+#X connect 15 1 19 0;
+#X connect 16 0 37 0;
+#X connect 16 1 19 0;
+#X connect 17 0 18 0;
+#X connect 17 1 37 0;
+#X connect 18 0 10 0;
+#X connect 18 0 14 0;
+#X connect 18 0 17 0;
+#X connect 18 0 46 0;
+#X connect 18 0 53 0;
+#X connect 19 0 13 0;
+#X connect 19 0 15 1;
+#X connect 19 0 16 1;
+#X connect 19 0 46 0;
+#X connect 19 0 53 1;
+#X connect 23 2 24 3;
+#X connect 23 2 27 3;
+#X connect 23 2 28 3;
+#X connect 24 0 40 0;
+#X connect 25 0 21 0;
+#X connect 26 0 20 0;
+#X connect 27 0 25 0;
+#X connect 28 0 26 0;
+#X connect 30 0 20 2;
+#X connect 30 0 29 2;
+#X connect 30 0 22 2;
+#X connect 30 0 21 2;
+#X connect 31 0 30 0;
+#X connect 32 0 4 0;
+#X connect 32 0 14 1;
+#X connect 32 0 15 0;
+#X connect 32 0 23 0;
+#X connect 32 0 39 0;
+#X connect 32 0 42 1;
+#X connect 32 0 44 0;
+#X connect 32 0 46 0;
+#X connect 32 0 54 0;
+#X connect 33 0 29 0;
+#X connect 34 0 47 0;
+#X connect 35 0 51 0;
+#X connect 36 0 48 0;
+#X connect 37 0 7 0;
+#X connect 37 0 16 0;
+#X connect 37 0 17 1;
+#X connect 37 0 23 1;
+#X connect 37 0 34 0;
+#X connect 37 0 36 0;
+#X connect 37 0 42 2;
+#X connect 37 0 46 0;
+#X connect 37 0 54 1;
+#X connect 38 0 52 0;
+#X connect 39 0 49 0;
+#X connect 40 0 33 0;
+#X connect 41 0 49 0;
+#X connect 43 0 42 0;
+#X connect 44 0 50 0;
+#X connect 45 0 50 0;
+#X connect 47 0 32 0;
+#X connect 47 0 19 0;
+#X connect 47 0 18 0;
+#X connect 48 0 32 0;
+#X connect 48 0 18 0;
+#X connect 48 0 19 0;
+#X connect 49 0 37 0;
+#X connect 50 0 37 0;
+#X connect 51 0 19 0;
+#X connect 51 0 37 0;
+#X connect 51 0 32 0;
+#X connect 51 0 18 0;
+#X connect 52 0 37 0;
+#X connect 52 0 32 0;
+#X connect 52 0 19 0;
+#X connect 52 0 18 0;
+#X connect 53 0 18 0;
+#X connect 53 1 19 0;
+#X connect 54 0 32 0;
+#X connect 54 1 37 0;
+#X restore 47 477 pd space_ship;
+#X obj 382 399 world_light;
+#X obj 382 377 gemhead 1;
+#X msg 134 114 reset \, lighting 1 \, create \, 1;
+#X obj 120 417 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 104 433 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 136 433 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 47 434 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 120 449 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 73 312 keyname;
+#X obj 73 333 pack f s;
+#X obj 73 355 route 1;
+#X obj 47 394 key;
+#X obj 47 415 sel 32;
+#X obj 73 376 route Up Down Left Right;
+#N canvas 213 219 1094 659 border 0;
+#X text 268 11 This is the first exemple of physical modeling;
+#X text 268 33 this is an elastic string;
+#X text 158 95 <- metronome send bangs to mass and link and gives the
+general computation speed;
+#X obj 47 198 link \$0-link 0 1 1;
+#X obj 63 251 link \$0-link 0 1 1;
+#X obj 89 307 link \$0-link 0 1 1;
+#X obj 108 364 link \$0-link 0 1 1;
+#X obj 138 420 link \$0-link 0 1 1;
+#X obj 165 477 link \$0-link 0 1 1;
+#X obj 42 174 mass \$0-mass 30;
+#X obj 57 226 mass \$0-mass 30;
+#X obj 84 283 mass \$0-mass 30;
+#X obj 104 340 mass \$0-mass 30;
+#X obj 134 395 mass \$0-mass 30;
+#X obj 163 452 mass \$0-mass 30;
+#X text 160 132 masss and link has to be compute one after the other.
+;
+#X obj 27 148 link \$0-link 0 0 5;
+#X obj 354 214 link \$0-link 0 1 1;
+#X obj 370 267 link \$0-link 0 1 1;
+#X obj 396 323 link \$0-link 0 1 1;
+#X obj 415 380 link \$0-link 0 1 1;
+#X obj 445 436 link \$0-link 0 1 1;
+#X obj 472 493 link \$0-link 0 1 1;
+#X obj 349 190 mass \$0-mass 30;
+#X obj 364 242 mass \$0-mass 30;
+#X obj 374 293 mass \$0-mass 30;
+#X obj 411 356 mass \$0-mass 30;
+#X obj 435 408 mass \$0-mass 30;
+#X obj 470 468 mass \$0-mass 30;
+#X obj 615 210 link \$0-link 0 1 1;
+#X obj 631 263 link \$0-link 0 1 1;
+#X obj 657 319 link \$0-link 0 1 1;
+#X obj 676 376 link \$0-link 0 1 1;
+#X obj 706 432 link \$0-link 0 1 1;
+#X obj 610 186 mass \$0-mass 30;
+#X obj 625 238 mass \$0-mass 30;
+#X obj 652 295 mass \$0-mass 30;
+#X obj 672 352 mass \$0-mass 30;
+#X obj 702 407 mass \$0-mass 30;
+#X obj 731 464 mass \$0-mass 30;
+#X obj 919 270 + 10;
+#X obj 919 202 loadbang;
+#X obj 919 225 metro 600;
+#X obj 921 292 / 10;
+#X obj 734 489 link \$0-link 0 0.01 2;
+#X obj 919 250 random 20;
+#X obj 62 41 r \$0-link;
+#X obj 869 481 game_line 4;
+#X obj 60 66 s bounce;
+#X obj 615 503 game_line 1;
+#X obj 759 221 game_line 1.5;
+#X obj 511 237 game_line -1;
+#X obj 203 229 game_line -4;
+#X obj 849 445 game_line 3.5;
+#X obj 804 388 game_line 3;
+#X obj 790 336 game_line 2.5;
+#X obj 774 273 game_line 2;
+#X obj 591 450 game_line 0.5;
+#X obj 568 391 game_line 0;
+#X obj 531 310 game_line -0.5;
+#X obj 324 466 game_line -1.5;
+#X obj 331 422 game_line -2;
+#X obj 272 381 game_line -2.5;
+#X obj 257 333 game_line -3;
+#X obj 223 286 game_line -3.5;
+#X connect 3 0 9 0;
+#X connect 3 1 10 0;
+#X connect 4 0 10 0;
+#X connect 4 1 11 0;
+#X connect 5 0 11 0;
+#X connect 5 1 12 0;
+#X connect 6 0 12 0;
+#X connect 6 1 13 0;
+#X connect 7 0 13 0;
+#X connect 7 1 14 0;
+#X connect 8 0 14 0;
+#X connect 8 1 23 0;
+#X connect 9 0 3 0;
+#X connect 9 0 16 1;
+#X connect 9 0 52 1;
+#X connect 10 0 3 1;
+#X connect 10 0 4 0;
+#X connect 10 0 52 0;
+#X connect 10 0 64 1;
+#X connect 11 0 4 1;
+#X connect 11 0 5 0;
+#X connect 11 0 63 1;
+#X connect 11 0 64 0;
+#X connect 12 0 5 1;
+#X connect 12 0 6 0;
+#X connect 12 0 62 1;
+#X connect 12 0 63 0;
+#X connect 13 0 6 1;
+#X connect 13 0 7 0;
+#X connect 13 0 61 1;
+#X connect 13 0 62 0;
+#X connect 14 0 7 1;
+#X connect 14 0 8 0;
+#X connect 14 0 60 1;
+#X connect 14 0 61 0;
+#X connect 16 1 9 0;
+#X connect 17 0 23 0;
+#X connect 17 1 24 0;
+#X connect 18 0 24 0;
+#X connect 18 1 25 0;
+#X connect 19 0 25 0;
+#X connect 19 1 26 0;
+#X connect 20 0 26 0;
+#X connect 20 1 27 0;
+#X connect 21 0 27 0;
+#X connect 21 1 28 0;
+#X connect 22 0 28 0;
+#X connect 22 1 34 0;
+#X connect 23 0 17 0;
+#X connect 23 0 8 1;
+#X connect 23 0 51 1;
+#X connect 23 0 60 0;
+#X connect 24 0 17 1;
+#X connect 24 0 18 0;
+#X connect 24 0 51 0;
+#X connect 24 0 59 1;
+#X connect 25 0 18 1;
+#X connect 25 0 19 0;
+#X connect 25 0 58 1;
+#X connect 25 0 59 0;
+#X connect 26 0 19 1;
+#X connect 26 0 20 0;
+#X connect 26 0 57 1;
+#X connect 26 0 58 0;
+#X connect 27 0 20 1;
+#X connect 27 0 21 0;
+#X connect 27 0 49 1;
+#X connect 27 0 57 0;
+#X connect 28 0 21 1;
+#X connect 28 0 22 0;
+#X connect 28 0 49 0;
+#X connect 28 0 50 1;
+#X connect 29 0 34 0;
+#X connect 29 1 35 0;
+#X connect 30 0 35 0;
+#X connect 30 1 36 0;
+#X connect 31 0 36 0;
+#X connect 31 0 37 0;
+#X connect 31 1 37 0;
+#X connect 32 0 37 0;
+#X connect 32 1 38 0;
+#X connect 33 0 38 0;
+#X connect 33 1 39 0;
+#X connect 34 0 29 0;
+#X connect 34 0 22 1;
+#X connect 34 0 50 0;
+#X connect 34 0 56 1;
+#X connect 35 0 29 1;
+#X connect 35 0 30 0;
+#X connect 35 0 55 1;
+#X connect 35 0 56 0;
+#X connect 36 0 30 1;
+#X connect 36 0 31 0;
+#X connect 36 0 54 1;
+#X connect 36 0 55 0;
+#X connect 37 0 31 1;
+#X connect 37 0 32 0;
+#X connect 37 0 53 1;
+#X connect 37 0 54 0;
+#X connect 38 0 32 1;
+#X connect 38 0 33 0;
+#X connect 38 0 47 1;
+#X connect 38 0 53 0;
+#X connect 39 0 33 1;
+#X connect 39 0 44 0;
+#X connect 39 0 47 0;
+#X connect 40 0 43 0;
+#X connect 41 0 42 0;
+#X connect 42 0 45 0;
+#X connect 43 0 44 1;
+#X connect 44 0 39 0;
+#X connect 45 0 40 0;
+#X connect 46 0 48 0;
+#X restore 382 421 pd border;
+#N canvas 819 401 251 318 bombs 0;
+#X obj 45 108 % 8;
+#X obj 45 85 + 1;
+#X obj 44 13 loadbang;
+#X msg 45 60 1;
+#X obj 45 36 metro 1200;
+#X obj 104 11 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#N canvas 510 387 653 468 bomb 0;
+#X obj 36 22 inlet;
+#X obj 82 242 gemhead;
+#X obj 85 272 translateXYZ;
+#X obj 84 215 unpack s f f;
+#X obj 104 153 r \$0-mass;
+#X obj 86 294 color 1 0 0;
+#X obj 36 44 t b b b;
+#X msg 154 122 reset;
+#X obj 87 21 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 272 271 r space_ship;
+#X msg 261 240 setXY \$1 \$2;
+#X obj 262 294 tCircle2D 0 0 0 0.2;
+#X obj 262 316 sel 1;
+#X obj 86 316 sphere 0.2;
+#X obj 429 263 r bulletpos;
+#X obj 435 319 sel 1;
+#X obj 261 341 s space_inside;
+#X obj 430 292 tCircle2D 0 0 0 0.15;
+#X obj 463 382 s points;
+#X obj 85 186 mass2D bomb 100 1000 1000;
+#X msg 439 351 reset \, setXY 1000 1000;
+#X obj 34 86 iAmbient2D foo -0.1 -1 0.2 0;
+#X msg 80 123 setXY 0 5;
+#X connect 0 0 6 0;
+#X connect 1 0 2 0;
+#X connect 2 0 5 0;
+#X connect 3 1 2 1;
+#X connect 3 2 2 2;
+#X connect 4 0 19 0;
+#X connect 5 0 13 0;
+#X connect 6 0 21 0;
+#X connect 6 1 22 0;
+#X connect 6 2 7 0;
+#X connect 7 0 19 0;
+#X connect 8 0 6 0;
+#X connect 9 0 11 0;
+#X connect 10 0 11 0;
+#X connect 10 0 17 0;
+#X connect 11 0 12 0;
+#X connect 12 0 16 0;
+#X connect 14 0 17 0;
+#X connect 15 0 20 0;
+#X connect 15 0 18 0;
+#X connect 17 0 15 0;
+#X connect 19 0 3 0;
+#X connect 19 0 10 0;
+#X connect 20 0 19 0;
+#X connect 21 0 19 0;
+#X connect 22 0 19 0;
+#X restore 45 167 pd bomb;
+#X obj 45 140 sel 0 1 2 3 4 5 6 7;
+#N canvas 510 387 653 468 bomb 0;
+#X obj 36 22 inlet;
+#X obj 82 242 gemhead;
+#X obj 85 272 translateXYZ;
+#X obj 84 215 unpack s f f;
+#X obj 104 153 r \$0-mass;
+#X obj 86 294 color 1 0 0;
+#X obj 36 44 t b b b;
+#X msg 154 122 reset;
+#X obj 87 21 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 272 271 r space_ship;
+#X msg 261 240 setXY \$1 \$2;
+#X obj 262 294 tCircle2D 0 0 0 0.2;
+#X obj 262 316 sel 1;
+#X obj 86 316 sphere 0.2;
+#X obj 429 263 r bulletpos;
+#X obj 435 319 sel 1;
+#X obj 261 341 s space_inside;
+#X obj 430 292 tCircle2D 0 0 0 0.15;
+#X obj 463 382 s points;
+#X obj 85 186 mass2D bomb 100 1000 1000;
+#X msg 439 351 reset \, setXY 1000 1000;
+#X obj 34 86 iAmbient2D foo -0.1 -1 0.2 0;
+#X msg 80 123 setXY 0 5;
+#X connect 0 0 6 0;
+#X connect 1 0 2 0;
+#X connect 2 0 5 0;
+#X connect 3 1 2 1;
+#X connect 3 2 2 2;
+#X connect 4 0 19 0;
+#X connect 5 0 13 0;
+#X connect 6 0 21 0;
+#X connect 6 1 22 0;
+#X connect 6 2 7 0;
+#X connect 7 0 19 0;
+#X connect 8 0 6 0;
+#X connect 9 0 11 0;
+#X connect 10 0 11 0;
+#X connect 10 0 17 0;
+#X connect 11 0 12 0;
+#X connect 12 0 16 0;
+#X connect 14 0 17 0;
+#X connect 15 0 20 0;
+#X connect 15 0 18 0;
+#X connect 17 0 15 0;
+#X connect 19 0 3 0;
+#X connect 19 0 10 0;
+#X connect 20 0 19 0;
+#X connect 21 0 19 0;
+#X connect 22 0 19 0;
+#X restore 55 177 pd bomb;
+#N canvas 510 387 653 468 bomb 0;
+#X obj 36 22 inlet;
+#X obj 82 242 gemhead;
+#X obj 85 272 translateXYZ;
+#X obj 84 215 unpack s f f;
+#X obj 104 153 r \$0-mass;
+#X obj 86 294 color 1 0 0;
+#X obj 36 44 t b b b;
+#X msg 154 122 reset;
+#X obj 87 21 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 272 271 r space_ship;
+#X msg 261 240 setXY \$1 \$2;
+#X obj 262 294 tCircle2D 0 0 0 0.2;
+#X obj 262 316 sel 1;
+#X obj 86 316 sphere 0.2;
+#X obj 429 263 r bulletpos;
+#X obj 435 319 sel 1;
+#X obj 261 341 s space_inside;
+#X obj 430 292 tCircle2D 0 0 0 0.15;
+#X obj 463 382 s points;
+#X obj 85 186 mass2D bomb 100 1000 1000;
+#X msg 439 351 reset \, setXY 1000 1000;
+#X obj 34 86 iAmbient2D foo -0.1 -1 0.2 0;
+#X msg 80 123 setXY 0 5;
+#X connect 0 0 6 0;
+#X connect 1 0 2 0;
+#X connect 2 0 5 0;
+#X connect 3 1 2 1;
+#X connect 3 2 2 2;
+#X connect 4 0 19 0;
+#X connect 5 0 13 0;
+#X connect 6 0 21 0;
+#X connect 6 1 22 0;
+#X connect 6 2 7 0;
+#X connect 7 0 19 0;
+#X connect 8 0 6 0;
+#X connect 9 0 11 0;
+#X connect 10 0 11 0;
+#X connect 10 0 17 0;
+#X connect 11 0 12 0;
+#X connect 12 0 16 0;
+#X connect 14 0 17 0;
+#X connect 15 0 20 0;
+#X connect 15 0 18 0;
+#X connect 17 0 15 0;
+#X connect 19 0 3 0;
+#X connect 19 0 10 0;
+#X connect 20 0 19 0;
+#X connect 21 0 19 0;
+#X connect 22 0 19 0;
+#X restore 65 187 pd bomb;
+#N canvas 510 387 653 468 bomb 0;
+#X obj 36 22 inlet;
+#X obj 82 242 gemhead;
+#X obj 85 272 translateXYZ;
+#X obj 84 215 unpack s f f;
+#X obj 104 153 r \$0-mass;
+#X obj 86 294 color 1 0 0;
+#X obj 36 44 t b b b;
+#X msg 154 122 reset;
+#X obj 87 21 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 272 271 r space_ship;
+#X msg 261 240 setXY \$1 \$2;
+#X obj 262 294 tCircle2D 0 0 0 0.2;
+#X obj 262 316 sel 1;
+#X obj 86 316 sphere 0.2;
+#X obj 429 263 r bulletpos;
+#X obj 435 319 sel 1;
+#X obj 261 341 s space_inside;
+#X obj 430 292 tCircle2D 0 0 0 0.15;
+#X obj 463 382 s points;
+#X obj 85 186 mass2D bomb 100 1000 1000;
+#X msg 439 351 reset \, setXY 1000 1000;
+#X obj 34 86 iAmbient2D foo -0.1 -1 0.2 0;
+#X msg 80 123 setXY 0 5;
+#X connect 0 0 6 0;
+#X connect 1 0 2 0;
+#X connect 2 0 5 0;
+#X connect 3 1 2 1;
+#X connect 3 2 2 2;
+#X connect 4 0 19 0;
+#X connect 5 0 13 0;
+#X connect 6 0 21 0;
+#X connect 6 1 22 0;
+#X connect 6 2 7 0;
+#X connect 7 0 19 0;
+#X connect 8 0 6 0;
+#X connect 9 0 11 0;
+#X connect 10 0 11 0;
+#X connect 10 0 17 0;
+#X connect 11 0 12 0;
+#X connect 12 0 16 0;
+#X connect 14 0 17 0;
+#X connect 15 0 20 0;
+#X connect 15 0 18 0;
+#X connect 17 0 15 0;
+#X connect 19 0 3 0;
+#X connect 19 0 10 0;
+#X connect 20 0 19 0;
+#X connect 21 0 19 0;
+#X connect 22 0 19 0;
+#X restore 75 197 pd bomb;
+#N canvas 510 387 653 468 bomb 0;
+#X obj 36 22 inlet;
+#X obj 82 242 gemhead;
+#X obj 85 272 translateXYZ;
+#X obj 84 215 unpack s f f;
+#X obj 104 153 r \$0-mass;
+#X obj 86 294 color 1 0 0;
+#X obj 36 44 t b b b;
+#X msg 154 122 reset;
+#X obj 87 21 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 272 271 r space_ship;
+#X msg 261 240 setXY \$1 \$2;
+#X obj 262 294 tCircle2D 0 0 0 0.2;
+#X obj 262 316 sel 1;
+#X obj 86 316 sphere 0.2;
+#X obj 429 263 r bulletpos;
+#X obj 435 319 sel 1;
+#X obj 261 341 s space_inside;
+#X obj 430 292 tCircle2D 0 0 0 0.15;
+#X obj 463 382 s points;
+#X obj 85 186 mass2D bomb 100 1000 1000;
+#X msg 439 351 reset \, setXY 1000 1000;
+#X obj 34 86 iAmbient2D foo -0.1 -1 0.2 0;
+#X msg 80 123 setXY 0 5;
+#X connect 0 0 6 0;
+#X connect 1 0 2 0;
+#X connect 2 0 5 0;
+#X connect 3 1 2 1;
+#X connect 3 2 2 2;
+#X connect 4 0 19 0;
+#X connect 5 0 13 0;
+#X connect 6 0 21 0;
+#X connect 6 1 22 0;
+#X connect 6 2 7 0;
+#X connect 7 0 19 0;
+#X connect 8 0 6 0;
+#X connect 9 0 11 0;
+#X connect 10 0 11 0;
+#X connect 10 0 17 0;
+#X connect 11 0 12 0;
+#X connect 12 0 16 0;
+#X connect 14 0 17 0;
+#X connect 15 0 20 0;
+#X connect 15 0 18 0;
+#X connect 17 0 15 0;
+#X connect 19 0 3 0;
+#X connect 19 0 10 0;
+#X connect 20 0 19 0;
+#X connect 21 0 19 0;
+#X connect 22 0 19 0;
+#X restore 85 207 pd bomb;
+#N canvas 510 387 653 468 bomb 0;
+#X obj 36 22 inlet;
+#X obj 82 242 gemhead;
+#X obj 85 272 translateXYZ;
+#X obj 84 215 unpack s f f;
+#X obj 104 153 r \$0-mass;
+#X obj 86 294 color 1 0 0;
+#X obj 36 44 t b b b;
+#X msg 154 122 reset;
+#X obj 87 21 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 272 271 r space_ship;
+#X msg 261 240 setXY \$1 \$2;
+#X obj 262 294 tCircle2D 0 0 0 0.2;
+#X obj 262 316 sel 1;
+#X obj 86 316 sphere 0.2;
+#X obj 429 263 r bulletpos;
+#X obj 435 319 sel 1;
+#X obj 261 341 s space_inside;
+#X obj 430 292 tCircle2D 0 0 0 0.15;
+#X obj 463 382 s points;
+#X obj 85 186 mass2D bomb 100 1000 1000;
+#X msg 439 351 reset \, setXY 1000 1000;
+#X obj 34 86 iAmbient2D foo -0.1 -1 0.2 0;
+#X msg 80 123 setXY 0 5;
+#X connect 0 0 6 0;
+#X connect 1 0 2 0;
+#X connect 2 0 5 0;
+#X connect 3 1 2 1;
+#X connect 3 2 2 2;
+#X connect 4 0 19 0;
+#X connect 5 0 13 0;
+#X connect 6 0 21 0;
+#X connect 6 1 22 0;
+#X connect 6 2 7 0;
+#X connect 7 0 19 0;
+#X connect 8 0 6 0;
+#X connect 9 0 11 0;
+#X connect 10 0 11 0;
+#X connect 10 0 17 0;
+#X connect 11 0 12 0;
+#X connect 12 0 16 0;
+#X connect 14 0 17 0;
+#X connect 15 0 20 0;
+#X connect 15 0 18 0;
+#X connect 17 0 15 0;
+#X connect 19 0 3 0;
+#X connect 19 0 10 0;
+#X connect 20 0 19 0;
+#X connect 21 0 19 0;
+#X connect 22 0 19 0;
+#X restore 95 217 pd bomb;
+#N canvas 510 387 655 470 bomb 0;
+#X obj 36 22 inlet;
+#X obj 82 242 gemhead;
+#X obj 85 272 translateXYZ;
+#X obj 84 215 unpack s f f;
+#X obj 104 153 r \$0-mass;
+#X obj 86 294 color 1 0 0;
+#X obj 36 44 t b b b;
+#X msg 154 122 reset;
+#X obj 87 21 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 272 271 r space_ship;
+#X msg 261 240 setXY \$1 \$2;
+#X obj 262 294 tCircle2D 0 0 0 0.2;
+#X obj 262 316 sel 1;
+#X obj 86 316 sphere 0.2;
+#X obj 429 263 r bulletpos;
+#X obj 435 319 sel 1;
+#X obj 261 341 s space_inside;
+#X obj 430 292 tCircle2D 0 0 0 0.15;
+#X obj 463 382 s points;
+#X obj 85 186 mass2D bomb 100 1000 1000;
+#X msg 439 351 reset \, setXY 1000 1000;
+#X msg 80 123 setXY 0 5;
+#X obj 34 86 iAmbient2D foo 0 -1 0.2 0;
+#X connect 0 0 6 0;
+#X connect 1 0 2 0;
+#X connect 2 0 5 0;
+#X connect 3 1 2 1;
+#X connect 3 2 2 2;
+#X connect 4 0 19 0;
+#X connect 5 0 13 0;
+#X connect 6 0 22 0;
+#X connect 6 1 21 0;
+#X connect 6 2 7 0;
+#X connect 7 0 19 0;
+#X connect 8 0 6 0;
+#X connect 9 0 11 0;
+#X connect 10 0 11 0;
+#X connect 10 0 17 0;
+#X connect 11 0 12 0;
+#X connect 12 0 16 0;
+#X connect 14 0 17 0;
+#X connect 15 0 20 0;
+#X connect 15 0 18 0;
+#X connect 17 0 15 0;
+#X connect 19 0 3 0;
+#X connect 19 0 10 0;
+#X connect 20 0 19 0;
+#X connect 21 0 19 0;
+#X connect 22 0 19 0;
+#X restore 105 227 pd bomb;
+#N canvas 510 387 657 472 bomb 0;
+#X obj 36 22 inlet;
+#X obj 82 242 gemhead;
+#X obj 85 272 translateXYZ;
+#X obj 84 215 unpack s f f;
+#X obj 104 153 r \$0-mass;
+#X obj 86 294 color 1 0 0;
+#X obj 36 44 t b b b;
+#X msg 154 122 reset;
+#X obj 87 21 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 272 271 r space_ship;
+#X msg 261 240 setXY \$1 \$2;
+#X obj 262 294 tCircle2D 0 0 0 0.2;
+#X obj 262 316 sel 1;
+#X obj 86 316 sphere 0.2;
+#X obj 429 263 r bulletpos;
+#X obj 435 319 sel 1;
+#X obj 261 341 s space_inside;
+#X obj 430 292 tCircle2D 0 0 0 0.15;
+#X obj 463 382 s points;
+#X obj 85 186 mass2D bomb 100 1000 1000;
+#X msg 439 351 reset \, setXY 1000 1000;
+#X obj 34 86 iAmbient2D foo -0.1 -1 0.2 0;
+#X msg 80 123 setXY 0 5;
+#X connect 0 0 6 0;
+#X connect 1 0 2 0;
+#X connect 2 0 5 0;
+#X connect 3 1 2 1;
+#X connect 3 2 2 2;
+#X connect 4 0 19 0;
+#X connect 5 0 13 0;
+#X connect 6 0 21 0;
+#X connect 6 1 22 0;
+#X connect 6 2 7 0;
+#X connect 7 0 19 0;
+#X connect 8 0 6 0;
+#X connect 9 0 11 0;
+#X connect 10 0 11 0;
+#X connect 10 0 17 0;
+#X connect 11 0 12 0;
+#X connect 12 0 16 0;
+#X connect 14 0 17 0;
+#X connect 15 0 20 0;
+#X connect 15 0 18 0;
+#X connect 17 0 15 0;
+#X connect 19 0 3 0;
+#X connect 19 0 10 0;
+#X connect 20 0 19 0;
+#X connect 21 0 19 0;
+#X connect 22 0 19 0;
+#X restore 115 237 pd bomb;
+#X connect 0 0 1 1;
+#X connect 0 0 7 0;
+#X connect 1 0 0 0;
+#X connect 2 0 4 0;
+#X connect 3 0 1 0;
+#X connect 4 0 3 0;
+#X connect 5 0 4 0;
+#X connect 7 0 6 0;
+#X connect 7 1 8 0;
+#X connect 7 2 9 0;
+#X connect 7 3 10 0;
+#X connect 7 4 11 0;
+#X connect 7 5 12 0;
+#X connect 7 6 13 0;
+#X connect 7 7 14 0;
+#X restore 382 443 pd bombs;
+#X obj 32 68 loadbang;
+#X obj 283 339 s \$0-link;
+#X obj 308 294 s \$0-mass;
+#X obj 339 319 s rbombs;
+#X obj 32 110 metro 10;
+#X obj 283 246 t b b b b;
+#X text 187 433 <- move the ship;
+#X obj 367 269 s init;
+#N canvas 0 0 148 173 points 0;
+#X obj 53 36 r points;
+#X obj 58 108 + 1;
+#X obj 57 84 f;
+#X msg 24 60 -1;
+#X obj 24 16 r init;
+#X obj 57 135 outlet;
+#X connect 0 0 2 0;
+#X connect 1 0 2 1;
+#X connect 1 0 5 0;
+#X connect 2 0 1 0;
+#X connect 3 0 2 0;
+#X connect 4 0 3 0;
+#X restore 383 465 pd points;
+#X floatatom 383 488 5 0 0 0 - - -;
+#X text 181 448 (use arraw key to);
+#N canvas 265 590 255 308 init 0;
+#X obj 94 85 r bomb_in;
+#X obj 50 189 spigot;
+#X obj 95 146 delay 1000;
+#X msg 95 169 1;
+#X obj 64 35 r space_inside;
+#X obj 73 59 r inside;
+#X obj 51 230 outlet;
+#X obj 95 119 r init;
+#X msg 127 171 0;
+#X connect 0 0 1 0;
+#X connect 1 0 6 0;
+#X connect 2 0 3 0;
+#X connect 3 0 1 1;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 7 0 8 0;
+#X connect 7 0 2 0;
+#X connect 8 0 1 1;
+#X restore 299 222 pd init;
+#X text 286 172 <- reset;
+#X text 444 482 <- points;
+#X obj 19 210 t b b;
+#X obj 54 235 s \$0-link;
+#X obj 19 261 s \$0-mass;
+#X text 226 10 space-ship game;
+#X text 131 37 use the arrow key to displace the "space ship". space
+for fire. you should stay in the tunnel \, and shoot the red bombs
+;
+#X text 133 80 game restart if you hit the tunnel \, or a red bomb
+;
+#X connect 0 0 5 0;
+#X connect 0 1 4 0;
+#X connect 1 0 31 0;
+#X connect 2 0 32 0;
+#X connect 3 0 32 0;
+#X connect 6 0 29 0;
+#X connect 7 0 28 0;
+#X connect 8 0 9 0;
+#X connect 12 0 11 0;
+#X connect 13 0 9 0;
+#X connect 14 0 10 1;
+#X connect 15 0 10 3;
+#X connect 16 0 10 4;
+#X connect 17 0 10 0;
+#X connect 18 0 10 2;
+#X connect 19 0 20 0;
+#X connect 19 1 20 1;
+#X connect 20 0 21 0;
+#X connect 21 0 24 0;
+#X connect 22 0 23 0;
+#X connect 23 0 17 0;
+#X connect 24 0 14 0;
+#X connect 24 1 18 0;
+#X connect 24 2 15 0;
+#X connect 24 3 16 0;
+#X connect 27 0 1 0;
+#X connect 31 0 0 0;
+#X connect 31 0 41 0;
+#X connect 32 0 7 0;
+#X connect 32 1 6 0;
+#X connect 32 2 30 0;
+#X connect 32 3 34 0;
+#X connect 35 0 36 0;
+#X connect 38 0 32 0;
+#X connect 41 0 43 0;
+#X connect 41 1 42 0;
diff --git a/examples/44_flag.pd b/examples/44_flag.pd
new file mode 100644
index 0000000..54819bd
--- /dev/null
+++ b/examples/44_flag.pd
@@ -0,0 +1,806 @@
+#N canvas 178 45 497 616 10;
+#N canvas 529 347 774 319 array 0;
+#X obj 200 0 mass_link3 1 -3 -4 0;
+#X obj 400 0 mass_link3 2 -2 -4 0;
+#X obj 600 0 mass_link3 3 -1 -4 0;
+#X obj 800 0 mass_link3 4 0 -4 0;
+#X obj 1000 0 mass_link3 5 1 -4 0;
+#X obj 1200 0 mass_link3 6 2 -4 0;
+#X obj 1400 0 mass_link3 7 3 -4 0;
+#X obj 1600 0 mass_link3 8 4 -4 0;
+#X obj 20 20 mass_link3 9 -4 -3 0;
+#X obj 220 20 mass_link3 10 -3 -3 0;
+#X obj 420 20 mass_link3 11 -2 -3 0;
+#X obj 620 20 mass_link3 12 -1 -3 0;
+#X obj 820 20 mass_link3 13 0 -3 0;
+#X obj 1020 20 mass_link3 14 1 -3 0;
+#X obj 1220 20 mass_link3 15 2 -3 0;
+#X obj 1420 20 mass_link3 16 3 -3 0;
+#X obj 1620 20 mass_link3 17 4 -3 0;
+#X obj 40 40 mass_link3 18 -4 -2 0;
+#X obj 240 40 mass_link3 19 -3 -2 0;
+#X obj 440 40 mass_link3 20 -2 -2 0;
+#X obj 640 40 mass_link3 21 -1 -2 0;
+#X obj 840 40 mass_link3 22 0 -2 0;
+#X obj 1040 40 mass_link3 23 1 -2 0;
+#X obj 1240 40 mass_link3 24 2 -2 0;
+#X obj 1440 40 mass_link3 25 3 -2 0;
+#X obj 1640 40 mass_link3 26 4 -2 0;
+#X obj 60 60 mass_link3 27 -4 -1 0;
+#X obj 260 60 mass_link3 28 -3 -1 0;
+#X obj 460 60 mass_link3 29 -2 -1 0;
+#X obj 660 60 mass_link3 30 -1 -1 0;
+#X obj 860 60 mass_link3 31 0 -1 0;
+#X obj 1060 60 mass_link3 32 1 -1 0;
+#X obj 1260 60 mass_link3 33 2 -1 0;
+#X obj 1460 60 mass_link3 34 3 -1 0;
+#X obj 1660 60 mass_link3 35 4 -1 0;
+#X obj 80 80 mass_link3 36 -4 0 0;
+#X obj 280 80 mass_link3 37 -3 0 0;
+#X obj 480 80 mass_link3 38 -2 0 0;
+#X obj 680 80 mass_link3 39 -1 0 0;
+#X obj 880 80 mass_link3 40 0 0 0;
+#X obj 1080 80 mass_link3 41 1 0 0;
+#X obj 1280 80 mass_link3 42 2 0 0;
+#X obj 1480 80 mass_link3 43 3 0 0;
+#X obj 1680 80 mass_link3 44 4 0 0;
+#X obj 100 100 mass_link3 45 -4 1 0;
+#X obj 300 100 mass_link3 46 -3 1 0;
+#X obj 500 100 mass_link3 47 -2 1 0;
+#X obj 700 100 mass_link3 48 -1 1 0;
+#X obj 900 100 mass_link3 49 0 1 0;
+#X obj 1100 100 mass_link3 50 1 1 0;
+#X obj 1300 100 mass_link3 51 2 1 0;
+#X obj 1500 100 mass_link3 52 3 1 0;
+#X obj 1700 100 mass_link3 53 4 1 0;
+#X obj 120 120 mass_link3 54 -4 2 0;
+#X obj 320 120 mass_link3 55 -3 2 0;
+#X obj 520 120 mass_link3 56 -2 2 0;
+#X obj 720 120 mass_link3 57 -1 2 0;
+#X obj 920 120 mass_link3 58 0 2 0;
+#X obj 1120 120 mass_link3 59 1 2 0;
+#X obj 1320 120 mass_link3 60 2 2 0;
+#X obj 1520 120 mass_link3 61 3 2 0;
+#X obj 1720 120 mass_link3 62 4 2 0;
+#X obj 140 140 mass_link3 63 -4 3 0;
+#X obj 340 140 mass_link3 64 -3 3 0;
+#X obj 540 140 mass_link3 65 -2 3 0;
+#X obj 740 140 mass_link3 66 -1 3 0;
+#X obj 940 140 mass_link3 67 0 3 0;
+#X obj 1140 140 mass_link3 68 1 3 0;
+#X obj 1340 140 mass_link3 69 2 3 0;
+#X obj 1540 140 mass_link3 70 3 3 0;
+#X obj 1740 140 mass_link3 71 4 3 0;
+#X obj 360 160 mass_link3 73 -3 4 0;
+#X obj 560 160 mass_link3 74 -2 4 0;
+#X obj 760 160 mass_link3 75 -1 4 0;
+#X obj 960 160 mass_link3 76 0 4 0;
+#X obj 1160 160 mass_link3 77 1 4 0;
+#X obj 1360 160 mass_link3 78 2 4 0;
+#X obj 1560 160 mass_link3 79 3 4 0;
+#X obj 1760 160 mass_link3 80 4 4 0;
+#X obj 7 -1 mass_link2 -4 -4 0;
+#X obj 163 166 mass_link2 -4 4 0;
+#X connect 0 0 1 0;
+#X connect 0 0 9 0;
+#X connect 0 0 10 1;
+#X connect 0 0 8 1;
+#X connect 1 0 2 0;
+#X connect 1 0 0 0;
+#X connect 1 0 10 0;
+#X connect 1 0 11 1;
+#X connect 1 0 9 1;
+#X connect 2 0 3 0;
+#X connect 2 0 1 0;
+#X connect 2 0 11 0;
+#X connect 2 0 12 1;
+#X connect 2 0 10 1;
+#X connect 3 0 4 0;
+#X connect 3 0 2 0;
+#X connect 3 0 12 0;
+#X connect 3 0 13 1;
+#X connect 3 0 11 1;
+#X connect 4 0 5 0;
+#X connect 4 0 3 0;
+#X connect 4 0 13 0;
+#X connect 4 0 14 1;
+#X connect 4 0 12 1;
+#X connect 5 0 6 0;
+#X connect 5 0 4 0;
+#X connect 5 0 14 0;
+#X connect 5 0 15 1;
+#X connect 5 0 13 1;
+#X connect 6 0 7 0;
+#X connect 6 0 5 0;
+#X connect 6 0 15 0;
+#X connect 6 0 16 1;
+#X connect 6 0 14 1;
+#X connect 7 0 6 0;
+#X connect 7 0 16 0;
+#X connect 7 0 15 1;
+#X connect 8 0 9 0;
+#X connect 8 0 17 0;
+#X connect 8 0 18 1;
+#X connect 8 0 0 1;
+#X connect 9 0 10 0;
+#X connect 9 0 8 0;
+#X connect 9 0 18 0;
+#X connect 9 0 0 0;
+#X connect 9 0 19 1;
+#X connect 9 0 17 1;
+#X connect 9 0 1 1;
+#X connect 10 0 11 0;
+#X connect 10 0 9 0;
+#X connect 10 0 19 0;
+#X connect 10 0 1 0;
+#X connect 10 0 20 1;
+#X connect 10 0 18 1;
+#X connect 10 0 0 1;
+#X connect 10 0 2 1;
+#X connect 11 0 12 0;
+#X connect 11 0 10 0;
+#X connect 11 0 20 0;
+#X connect 11 0 2 0;
+#X connect 11 0 21 1;
+#X connect 11 0 19 1;
+#X connect 11 0 1 1;
+#X connect 11 0 3 1;
+#X connect 12 0 13 0;
+#X connect 12 0 11 0;
+#X connect 12 0 21 0;
+#X connect 12 0 3 0;
+#X connect 12 0 22 1;
+#X connect 12 0 20 1;
+#X connect 12 0 2 1;
+#X connect 12 0 4 1;
+#X connect 13 0 14 0;
+#X connect 13 0 12 0;
+#X connect 13 0 22 0;
+#X connect 13 0 4 0;
+#X connect 13 0 23 1;
+#X connect 13 0 21 1;
+#X connect 13 0 3 1;
+#X connect 13 0 5 1;
+#X connect 14 0 15 0;
+#X connect 14 0 13 0;
+#X connect 14 0 23 0;
+#X connect 14 0 5 0;
+#X connect 14 0 24 1;
+#X connect 14 0 22 1;
+#X connect 14 0 4 1;
+#X connect 14 0 6 1;
+#X connect 15 0 16 0;
+#X connect 15 0 14 0;
+#X connect 15 0 24 0;
+#X connect 15 0 6 0;
+#X connect 15 0 25 1;
+#X connect 15 0 23 1;
+#X connect 15 0 5 1;
+#X connect 15 0 7 1;
+#X connect 16 0 15 0;
+#X connect 16 0 25 0;
+#X connect 16 0 7 0;
+#X connect 16 0 24 1;
+#X connect 16 0 6 1;
+#X connect 17 0 18 0;
+#X connect 17 0 26 0;
+#X connect 17 0 8 0;
+#X connect 17 0 27 1;
+#X connect 17 0 9 1;
+#X connect 18 0 19 0;
+#X connect 18 0 17 0;
+#X connect 18 0 27 0;
+#X connect 18 0 9 0;
+#X connect 18 0 28 1;
+#X connect 18 0 26 1;
+#X connect 18 0 8 1;
+#X connect 18 0 10 1;
+#X connect 19 0 20 0;
+#X connect 19 0 18 0;
+#X connect 19 0 28 0;
+#X connect 19 0 10 0;
+#X connect 19 0 29 1;
+#X connect 19 0 27 1;
+#X connect 19 0 9 1;
+#X connect 19 0 11 1;
+#X connect 20 0 21 0;
+#X connect 20 0 19 0;
+#X connect 20 0 29 0;
+#X connect 20 0 11 0;
+#X connect 20 0 30 1;
+#X connect 20 0 28 1;
+#X connect 20 0 10 1;
+#X connect 20 0 12 1;
+#X connect 21 0 22 0;
+#X connect 21 0 20 0;
+#X connect 21 0 30 0;
+#X connect 21 0 12 0;
+#X connect 21 0 31 1;
+#X connect 21 0 29 1;
+#X connect 21 0 11 1;
+#X connect 21 0 13 1;
+#X connect 22 0 23 0;
+#X connect 22 0 21 0;
+#X connect 22 0 31 0;
+#X connect 22 0 13 0;
+#X connect 22 0 32 1;
+#X connect 22 0 30 1;
+#X connect 22 0 12 1;
+#X connect 22 0 14 1;
+#X connect 23 0 24 0;
+#X connect 23 0 22 0;
+#X connect 23 0 32 0;
+#X connect 23 0 14 0;
+#X connect 23 0 33 1;
+#X connect 23 0 31 1;
+#X connect 23 0 13 1;
+#X connect 23 0 15 1;
+#X connect 24 0 25 0;
+#X connect 24 0 23 0;
+#X connect 24 0 33 0;
+#X connect 24 0 15 0;
+#X connect 24 0 34 1;
+#X connect 24 0 32 1;
+#X connect 24 0 14 1;
+#X connect 24 0 16 1;
+#X connect 25 0 24 0;
+#X connect 25 0 34 0;
+#X connect 25 0 16 0;
+#X connect 25 0 33 1;
+#X connect 25 0 15 1;
+#X connect 26 0 27 0;
+#X connect 26 0 35 0;
+#X connect 26 0 17 0;
+#X connect 26 0 36 1;
+#X connect 26 0 18 1;
+#X connect 27 0 28 0;
+#X connect 27 0 26 0;
+#X connect 27 0 36 0;
+#X connect 27 0 18 0;
+#X connect 27 0 37 1;
+#X connect 27 0 35 1;
+#X connect 27 0 17 1;
+#X connect 27 0 19 1;
+#X connect 28 0 29 0;
+#X connect 28 0 27 0;
+#X connect 28 0 37 0;
+#X connect 28 0 19 0;
+#X connect 28 0 38 1;
+#X connect 28 0 36 1;
+#X connect 28 0 18 1;
+#X connect 28 0 20 1;
+#X connect 29 0 30 0;
+#X connect 29 0 28 0;
+#X connect 29 0 38 0;
+#X connect 29 0 20 0;
+#X connect 29 0 39 1;
+#X connect 29 0 37 1;
+#X connect 29 0 19 1;
+#X connect 29 0 21 1;
+#X connect 30 0 31 0;
+#X connect 30 0 29 0;
+#X connect 30 0 39 0;
+#X connect 30 0 21 0;
+#X connect 30 0 40 1;
+#X connect 30 0 38 1;
+#X connect 30 0 20 1;
+#X connect 30 0 22 1;
+#X connect 31 0 32 0;
+#X connect 31 0 30 0;
+#X connect 31 0 40 0;
+#X connect 31 0 22 0;
+#X connect 31 0 41 1;
+#X connect 31 0 39 1;
+#X connect 31 0 21 1;
+#X connect 31 0 23 1;
+#X connect 32 0 33 0;
+#X connect 32 0 31 0;
+#X connect 32 0 41 0;
+#X connect 32 0 23 0;
+#X connect 32 0 42 1;
+#X connect 32 0 40 1;
+#X connect 32 0 22 1;
+#X connect 32 0 24 1;
+#X connect 33 0 34 0;
+#X connect 33 0 32 0;
+#X connect 33 0 42 0;
+#X connect 33 0 24 0;
+#X connect 33 0 43 1;
+#X connect 33 0 41 1;
+#X connect 33 0 23 1;
+#X connect 33 0 25 1;
+#X connect 34 0 33 0;
+#X connect 34 0 43 0;
+#X connect 34 0 25 0;
+#X connect 34 0 42 1;
+#X connect 34 0 24 1;
+#X connect 35 0 36 0;
+#X connect 35 0 44 0;
+#X connect 35 0 26 0;
+#X connect 35 0 45 1;
+#X connect 35 0 27 1;
+#X connect 36 0 37 0;
+#X connect 36 0 35 0;
+#X connect 36 0 45 0;
+#X connect 36 0 27 0;
+#X connect 36 0 46 1;
+#X connect 36 0 44 1;
+#X connect 36 0 26 1;
+#X connect 36 0 28 1;
+#X connect 37 0 38 0;
+#X connect 37 0 36 0;
+#X connect 37 0 46 0;
+#X connect 37 0 28 0;
+#X connect 37 0 47 1;
+#X connect 37 0 45 1;
+#X connect 37 0 27 1;
+#X connect 37 0 29 1;
+#X connect 38 0 39 0;
+#X connect 38 0 37 0;
+#X connect 38 0 47 0;
+#X connect 38 0 29 0;
+#X connect 38 0 48 1;
+#X connect 38 0 46 1;
+#X connect 38 0 28 1;
+#X connect 38 0 30 1;
+#X connect 39 0 40 0;
+#X connect 39 0 38 0;
+#X connect 39 0 48 0;
+#X connect 39 0 30 0;
+#X connect 39 0 49 1;
+#X connect 39 0 47 1;
+#X connect 39 0 29 1;
+#X connect 39 0 31 1;
+#X connect 40 0 41 0;
+#X connect 40 0 39 0;
+#X connect 40 0 49 0;
+#X connect 40 0 31 0;
+#X connect 40 0 50 1;
+#X connect 40 0 48 1;
+#X connect 40 0 30 1;
+#X connect 40 0 32 1;
+#X connect 41 0 42 0;
+#X connect 41 0 40 0;
+#X connect 41 0 50 0;
+#X connect 41 0 32 0;
+#X connect 41 0 51 1;
+#X connect 41 0 49 1;
+#X connect 41 0 31 1;
+#X connect 41 0 33 1;
+#X connect 42 0 43 0;
+#X connect 42 0 41 0;
+#X connect 42 0 51 0;
+#X connect 42 0 33 0;
+#X connect 42 0 52 1;
+#X connect 42 0 50 1;
+#X connect 42 0 32 1;
+#X connect 42 0 34 1;
+#X connect 43 0 42 0;
+#X connect 43 0 52 0;
+#X connect 43 0 34 0;
+#X connect 43 0 51 1;
+#X connect 43 0 33 1;
+#X connect 44 0 45 0;
+#X connect 44 0 53 0;
+#X connect 44 0 35 0;
+#X connect 44 0 54 1;
+#X connect 44 0 36 1;
+#X connect 45 0 46 0;
+#X connect 45 0 44 0;
+#X connect 45 0 54 0;
+#X connect 45 0 36 0;
+#X connect 45 0 55 1;
+#X connect 45 0 53 1;
+#X connect 45 0 35 1;
+#X connect 45 0 37 1;
+#X connect 46 0 47 0;
+#X connect 46 0 45 0;
+#X connect 46 0 55 0;
+#X connect 46 0 37 0;
+#X connect 46 0 56 1;
+#X connect 46 0 54 1;
+#X connect 46 0 36 1;
+#X connect 46 0 38 1;
+#X connect 47 0 48 0;
+#X connect 47 0 46 0;
+#X connect 47 0 56 0;
+#X connect 47 0 38 0;
+#X connect 47 0 57 1;
+#X connect 47 0 55 1;
+#X connect 47 0 37 1;
+#X connect 47 0 39 1;
+#X connect 48 0 49 0;
+#X connect 48 0 47 0;
+#X connect 48 0 57 0;
+#X connect 48 0 39 0;
+#X connect 48 0 58 1;
+#X connect 48 0 56 1;
+#X connect 48 0 38 1;
+#X connect 48 0 40 1;
+#X connect 49 0 50 0;
+#X connect 49 0 48 0;
+#X connect 49 0 58 0;
+#X connect 49 0 40 0;
+#X connect 49 0 59 1;
+#X connect 49 0 57 1;
+#X connect 49 0 39 1;
+#X connect 49 0 41 1;
+#X connect 50 0 51 0;
+#X connect 50 0 49 0;
+#X connect 50 0 59 0;
+#X connect 50 0 41 0;
+#X connect 50 0 60 1;
+#X connect 50 0 58 1;
+#X connect 50 0 40 1;
+#X connect 50 0 42 1;
+#X connect 51 0 52 0;
+#X connect 51 0 50 0;
+#X connect 51 0 60 0;
+#X connect 51 0 42 0;
+#X connect 51 0 61 1;
+#X connect 51 0 59 1;
+#X connect 51 0 41 1;
+#X connect 51 0 43 1;
+#X connect 52 0 51 0;
+#X connect 52 0 61 0;
+#X connect 52 0 43 0;
+#X connect 52 0 60 1;
+#X connect 52 0 42 1;
+#X connect 53 0 54 0;
+#X connect 53 0 62 0;
+#X connect 53 0 44 0;
+#X connect 53 0 63 1;
+#X connect 53 0 45 1;
+#X connect 54 0 55 0;
+#X connect 54 0 53 0;
+#X connect 54 0 63 0;
+#X connect 54 0 45 0;
+#X connect 54 0 64 1;
+#X connect 54 0 62 1;
+#X connect 54 0 44 1;
+#X connect 54 0 46 1;
+#X connect 55 0 56 0;
+#X connect 55 0 54 0;
+#X connect 55 0 64 0;
+#X connect 55 0 46 0;
+#X connect 55 0 65 1;
+#X connect 55 0 63 1;
+#X connect 55 0 45 1;
+#X connect 55 0 47 1;
+#X connect 56 0 57 0;
+#X connect 56 0 55 0;
+#X connect 56 0 65 0;
+#X connect 56 0 47 0;
+#X connect 56 0 66 1;
+#X connect 56 0 64 1;
+#X connect 56 0 46 1;
+#X connect 56 0 48 1;
+#X connect 57 0 58 0;
+#X connect 57 0 56 0;
+#X connect 57 0 66 0;
+#X connect 57 0 48 0;
+#X connect 57 0 67 1;
+#X connect 57 0 65 1;
+#X connect 57 0 47 1;
+#X connect 57 0 49 1;
+#X connect 58 0 59 0;
+#X connect 58 0 57 0;
+#X connect 58 0 67 0;
+#X connect 58 0 49 0;
+#X connect 58 0 68 1;
+#X connect 58 0 66 1;
+#X connect 58 0 48 1;
+#X connect 58 0 50 1;
+#X connect 59 0 60 0;
+#X connect 59 0 58 0;
+#X connect 59 0 68 0;
+#X connect 59 0 50 0;
+#X connect 59 0 69 1;
+#X connect 59 0 67 1;
+#X connect 59 0 49 1;
+#X connect 59 0 51 1;
+#X connect 60 0 61 0;
+#X connect 60 0 59 0;
+#X connect 60 0 69 0;
+#X connect 60 0 51 0;
+#X connect 60 0 70 1;
+#X connect 60 0 68 1;
+#X connect 60 0 50 1;
+#X connect 60 0 52 1;
+#X connect 61 0 60 0;
+#X connect 61 0 70 0;
+#X connect 61 0 52 0;
+#X connect 61 0 69 1;
+#X connect 61 0 51 1;
+#X connect 62 0 63 0;
+#X connect 62 0 53 0;
+#X connect 62 0 71 1;
+#X connect 62 0 54 1;
+#X connect 63 0 64 0;
+#X connect 63 0 62 0;
+#X connect 63 0 71 0;
+#X connect 63 0 54 0;
+#X connect 63 0 72 1;
+#X connect 63 0 53 1;
+#X connect 63 0 55 1;
+#X connect 64 0 65 0;
+#X connect 64 0 63 0;
+#X connect 64 0 72 0;
+#X connect 64 0 55 0;
+#X connect 64 0 73 1;
+#X connect 64 0 71 1;
+#X connect 64 0 54 1;
+#X connect 64 0 56 1;
+#X connect 65 0 66 0;
+#X connect 65 0 64 0;
+#X connect 65 0 73 0;
+#X connect 65 0 56 0;
+#X connect 65 0 74 1;
+#X connect 65 0 72 1;
+#X connect 65 0 55 1;
+#X connect 65 0 57 1;
+#X connect 66 0 67 0;
+#X connect 66 0 65 0;
+#X connect 66 0 74 0;
+#X connect 66 0 57 0;
+#X connect 66 0 75 1;
+#X connect 66 0 73 1;
+#X connect 66 0 56 1;
+#X connect 66 0 58 1;
+#X connect 67 0 68 0;
+#X connect 67 0 66 0;
+#X connect 67 0 75 0;
+#X connect 67 0 58 0;
+#X connect 67 0 76 1;
+#X connect 67 0 74 1;
+#X connect 67 0 57 1;
+#X connect 67 0 59 1;
+#X connect 68 0 69 0;
+#X connect 68 0 67 0;
+#X connect 68 0 76 0;
+#X connect 68 0 59 0;
+#X connect 68 0 77 1;
+#X connect 68 0 75 1;
+#X connect 68 0 58 1;
+#X connect 68 0 60 1;
+#X connect 69 0 70 0;
+#X connect 69 0 68 0;
+#X connect 69 0 77 0;
+#X connect 69 0 60 0;
+#X connect 69 0 78 1;
+#X connect 69 0 76 1;
+#X connect 69 0 59 1;
+#X connect 69 0 61 1;
+#X connect 70 0 69 0;
+#X connect 70 0 78 0;
+#X connect 70 0 61 0;
+#X connect 70 0 77 1;
+#X connect 70 0 60 1;
+#X connect 71 0 72 0;
+#X connect 71 0 63 0;
+#X connect 71 0 62 1;
+#X connect 71 0 64 1;
+#X connect 72 0 73 0;
+#X connect 72 0 71 0;
+#X connect 72 0 64 0;
+#X connect 72 0 63 1;
+#X connect 72 0 65 1;
+#X connect 73 0 74 0;
+#X connect 73 0 72 0;
+#X connect 73 0 65 0;
+#X connect 73 0 64 1;
+#X connect 73 0 66 1;
+#X connect 74 0 75 0;
+#X connect 74 0 73 0;
+#X connect 74 0 66 0;
+#X connect 74 0 65 1;
+#X connect 74 0 67 1;
+#X connect 75 0 76 0;
+#X connect 75 0 74 0;
+#X connect 75 0 67 0;
+#X connect 75 0 66 1;
+#X connect 75 0 68 1;
+#X connect 76 0 77 0;
+#X connect 76 0 75 0;
+#X connect 76 0 68 0;
+#X connect 76 0 67 1;
+#X connect 76 0 69 1;
+#X connect 77 0 78 0;
+#X connect 77 0 76 0;
+#X connect 77 0 69 0;
+#X connect 77 0 68 1;
+#X connect 77 0 70 1;
+#X connect 78 0 77 0;
+#X connect 78 0 70 0;
+#X connect 78 0 69 1;
+#X connect 79 0 0 0;
+#X connect 79 0 8 0;
+#X connect 79 0 9 1;
+#X connect 80 0 71 0;
+#X connect 80 0 62 0;
+#X connect 80 0 63 1;
+#X restore 169 500 pd array;
+#X obj 23 31 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 60 155 s masse;
+#X obj 33 223 s lia;
+#X obj 58 181 s masse3;
+#X obj 23 107 t b b b;
+#X obj 41 202 s masse2;
+#X floatatom 60 57 5 0 0 0 - - -;
+#X msg 163 112 0 \, destroy;
+#X msg 154 88 lighting 1 \, create \, 1;
+#X obj 166 234 ch_gemwin;
+#X obj 185 163 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 0 1;
+#X obj 201 186 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 0 1;
+#X obj 218 211 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 0 1;
+#X text 214 141 camera position;
+#X obj 27 361 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 61 391 loadbang;
+#X obj 27 416 t b b b;
+#X msg 64 446 reset;
+#X msg 27 561 resetF;
+#X obj 79 492 s masse;
+#X obj 27 583 s link;
+#X obj 45 539 s r_lia;
+#X obj 64 516 s masse2;
+#X text 55 361 <- reset;
+#X obj 23 250 s lia2;
+#X obj 23 82 metro 5;
+#N canvas 0 0 452 302 init 0;
+#X msg 240 131 setK \$1;
+#X msg 357 131 setM \$1;
+#X obj 357 159 s masse;
+#X floatatom 240 107 5 0 0 0 - - -;
+#X floatatom 295 107 5 0 0 0 - - -;
+#X floatatom 357 108 5 0 0 0 - - -;
+#X msg 295 130 setD2 \$1;
+#X obj 240 62 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 189 158 s link;
+#X obj 240 39 loadbang;
+#X msg 189 131 setL \$1;
+#X floatatom 189 108 5 0 0 0 - - -;
+#X msg 62 153 setK \$1;
+#X floatatom 62 129 5 0 0 0 - - -;
+#X floatatom 117 129 5 0 0 0 - - -;
+#X msg 117 152 setD2 \$1;
+#X obj 62 84 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 62 61 loadbang;
+#X msg 11 153 setL \$1;
+#X floatatom 11 130 5 0 0 0 - - -;
+#X obj 11 180 s link2;
+#X msg 62 105 1;
+#X msg 240 83 1;
+#X msg 118 104 0;
+#X msg 297 81 1;
+#X msg 357 84 10;
+#X msg 189 84 1;
+#X msg 13 102 1.4;
+#X connect 0 0 8 0;
+#X connect 1 0 2 0;
+#X connect 3 0 0 0;
+#X connect 4 0 6 0;
+#X connect 5 0 1 0;
+#X connect 6 0 8 0;
+#X connect 7 0 22 0;
+#X connect 7 0 24 0;
+#X connect 7 0 25 0;
+#X connect 7 0 26 0;
+#X connect 9 0 7 0;
+#X connect 10 0 8 0;
+#X connect 11 0 10 0;
+#X connect 12 0 20 0;
+#X connect 13 0 12 0;
+#X connect 14 0 15 0;
+#X connect 15 0 20 0;
+#X connect 16 0 21 0;
+#X connect 16 0 23 0;
+#X connect 16 0 27 0;
+#X connect 17 0 16 0;
+#X connect 18 0 20 0;
+#X connect 19 0 18 0;
+#X connect 21 0 13 0;
+#X connect 22 0 3 0;
+#X connect 23 0 14 0;
+#X connect 24 0 4 0;
+#X connect 25 0 5 0;
+#X connect 26 0 11 0;
+#X connect 27 0 19 0;
+#X restore 169 551 pd init physical properties;
+#N canvas 0 0 452 302 gem 0;
+#X obj 15 213 world_light;
+#X obj 15 190 gemhead;
+#X obj 19 29 gemhead;
+#X obj 19 93 rotateXYZ;
+#X obj 19 119 s gemhead;
+#X floatatom 65 47 5 0 0 0 - - -;
+#X floatatom 111 46 5 0 0 0 - - -;
+#X floatatom 158 46 5 0 0 0 - - -;
+#X obj 19 68 translateXYZ 0 0 0;
+#X connect 1 0 0 0;
+#X connect 2 0 8 0;
+#X connect 3 0 4 0;
+#X connect 5 0 8 1;
+#X connect 6 0 8 2;
+#X connect 7 0 8 3;
+#X connect 8 0 3 0;
+#X restore 169 527 pd gem;
+#N canvas 0 0 452 302 constructor 0;
+#X obj 10 161 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X msg 216 13 1 0 0 1 1;
+#X msg 227 35 -1 0 0 1 1;
+#X msg 249 77 0 -1 0 1 1;
+#X msg 239 56 0 1 0 1 1;
+#X msg 259 97 1 1 0 1 2;
+#X msg 270 119 -1 1 0 1 2;
+#X msg 282 140 -1 -1 0 1 2;
+#X msg 292 161 1 -1 0 1 2;
+#X obj 10 188 constructor 9 9 1 -4 4 -4 4 0 0 mass_link3;
+#X connect 0 0 9 0;
+#X connect 1 0 9 1;
+#X connect 2 0 9 1;
+#X connect 3 0 9 1;
+#X connect 4 0 9 1;
+#X connect 5 0 9 1;
+#X connect 6 0 9 1;
+#X connect 7 0 9 1;
+#X connect 8 0 9 1;
+#X restore 169 575 pd constructor of the array;
+#X text 55 30 <- begin (change metro speed if to much);
+#X obj 169 472 s masse;
+#X msg 169 448 force3D \$1 -0.03 \$2;
+#X obj 169 425 pack f f;
+#X obj 169 266 random 100;
+#X obj 242 267 random 100;
+#X obj 169 340 / 1000;
+#X obj 242 293 - 50;
+#X obj 242 317 / 300;
+#X obj 71 133 s mass;
+#X obj 354 361 mass mass 1000;
+#X obj 90 472 s mass;
+#X obj 242 340 link lia 0 1 0 10;
+#X text 317 267 random wind speed;
+#X text 253 381 filter to get a smooth wind movment;
+#X text 204 11 flag in the wind;
+#X connect 1 0 26 0;
+#X connect 5 0 3 0;
+#X connect 5 0 25 0;
+#X connect 5 0 34 0;
+#X connect 5 0 35 0;
+#X connect 5 1 4 0;
+#X connect 5 1 6 0;
+#X connect 5 2 2 0;
+#X connect 5 2 39 0;
+#X connect 7 0 26 1;
+#X connect 8 0 10 0;
+#X connect 9 0 10 0;
+#X connect 11 0 10 1;
+#X connect 12 0 10 2;
+#X connect 13 0 10 3;
+#X connect 15 0 17 0;
+#X connect 16 0 17 0;
+#X connect 17 0 19 0;
+#X connect 17 1 22 0;
+#X connect 17 2 18 0;
+#X connect 18 0 20 0;
+#X connect 18 0 23 0;
+#X connect 18 0 41 0;
+#X connect 19 0 21 0;
+#X connect 26 0 5 0;
+#X connect 32 0 31 0;
+#X connect 33 0 32 0;
+#X connect 34 0 36 0;
+#X connect 35 0 37 0;
+#X connect 36 0 33 0;
+#X connect 37 0 38 0;
+#X connect 38 0 42 0;
+#X connect 40 0 33 1;
+#X connect 40 0 42 1;
+#X connect 42 1 40 0;
diff --git a/examples/45_newWave.pd b/examples/45_newWave.pd
new file mode 100644
index 0000000..70befec
--- /dev/null
+++ b/examples/45_newWave.pd
@@ -0,0 +1,784 @@
+#N canvas 362 77 770 697 10;
+#N canvas 150 74 837 606 array 0;
+#X obj 1893 163 outlet;
+#X obj 121 835 outlet;
+#X obj 200 400 mountain 45 -4 0 -1;
+#X obj 400 300 mountain 35 -3 0 -2;
+#X obj 200 200 mountain 23 -4 0 -3;
+#X obj 0 0 mountain 0 -5 0 -5;
+#X obj 200 0 mountain 1 -4 0 -5;
+#X obj 400 0 mountain 2 -3 0 -5;
+#X obj 600 0 mountain 3 -2 0 -5;
+#X obj 800 0 mountain 4 -1 0 -5;
+#X obj 1000 0 mountain 5 0 0 -5;
+#X obj 1200 0 mountain 6 1 0 -5;
+#X obj 1400 0 mountain 7 2 0 -5;
+#X obj 1600 0 mountain 8 3 0 -5;
+#X obj 1800 0 mountain 9 4 0 -5;
+#X obj 2000 0 mountain 10 5 0 -5;
+#X obj 0 100 mountain 11 -5 0 -4;
+#X obj 200 100 mountain 12 -4 0 -4;
+#X obj 400 100 mountain 13 -3 0 -4;
+#X obj 600 100 mountain 14 -2 0 -4;
+#X obj 800 100 mountain 15 -1 0 -4;
+#X obj 1000 100 mountain 16 0 0 -4;
+#X obj 1200 100 mountain 17 1 0 -4;
+#X obj 1400 100 mountain 18 2 0 -4;
+#X obj 1600 100 mountain 19 3 0 -4;
+#X obj 1800 100 mountain 20 4 0 -4;
+#X obj 2000 100 mountain 21 5 0 -4;
+#X obj 0 200 mountain 22 -5 0 -3;
+#X obj 400 200 mountain 24 -3 0 -3;
+#X obj 600 200 mountain 25 -2 0 -3;
+#X obj 800 200 mountain 26 -1 0 -3;
+#X obj 1000 200 mountain 27 0 0 -3;
+#X obj 1200 200 mountain 28 1 0 -3;
+#X obj 1400 200 mountain 29 2 0 -3;
+#X obj 1600 200 mountain 30 3 0 -3;
+#X obj 1800 200 mountain 31 4 0 -3;
+#X obj 2000 200 mountain 32 5 0 -3;
+#X obj 0 300 mountain 33 -5 0 -2;
+#X obj 200 300 mountain 34 -4 0 -2;
+#X obj 600 300 mountain 36 -2 0 -2;
+#X obj 800 300 mountain 37 -1 0 -2;
+#X obj 1000 300 mountain 38 0 0 -2;
+#X obj 1200 300 mountain 39 1 0 -2;
+#X obj 1400 300 mountain 40 2 0 -2;
+#X obj 1600 300 mountain 41 3 0 -2;
+#X obj 1800 300 mountain 42 4 0 -2;
+#X obj 2000 300 mountain 43 5 0 -2;
+#X obj 0 400 mountain 44 -5 0 -1;
+#X obj 400 400 mountain 46 -3 0 -1;
+#X obj 600 400 mountain 47 -2 0 -1;
+#X obj 800 400 mountain 48 -1 0 -1;
+#X obj 1000 400 mountain 49 0 0 -1;
+#X obj 1200 400 mountain 50 1 0 -1;
+#X obj 1400 400 mountain 51 2 0 -1;
+#X obj 1600 400 mountain 52 3 0 -1;
+#X obj 1800 400 mountain 53 4 0 -1;
+#X obj 2000 400 mountain 54 5 0 -1;
+#X obj 0 500 mountain 55 -5 0 0;
+#X obj 200 500 mountain 56 -4 0 0;
+#X obj 400 500 mountain 57 -3 0 0;
+#X obj 600 500 mountain 58 -2 0 0;
+#X obj 800 500 mountain 59 -1 0 0;
+#X obj 1000 500 mountain 60 0 0 0;
+#X obj 1200 500 mountain 61 1 0 0;
+#X obj 1400 500 mountain 62 2 0 0;
+#X obj 1600 500 mountain 63 3 0 0;
+#X obj 1800 500 mountain 64 4 0 0;
+#X obj 2000 500 mountain 65 5 0 0;
+#X obj 0 600 mountain 66 -5 0 1;
+#X obj 200 600 mountain 67 -4 0 1;
+#X obj 400 600 mountain 68 -3 0 1;
+#X obj 600 600 mountain 69 -2 0 1;
+#X obj 800 600 mountain 70 -1 0 1;
+#X obj 1000 600 mountain 71 0 0 1;
+#X obj 1200 600 mountain 72 1 0 1;
+#X obj 1400 600 mountain 73 2 0 1;
+#X obj 1600 600 mountain 74 3 0 1;
+#X obj 1800 600 mountain 75 4 0 1;
+#X obj 2000 600 mountain 76 5 0 1;
+#X obj 0 700 mountain 77 -5 0 2;
+#X obj 200 700 mountain 78 -4 0 2;
+#X obj 400 700 mountain 79 -3 0 2;
+#X obj 600 700 mountain 80 -2 0 2;
+#X obj 800 700 mountain 81 -1 0 2;
+#X obj 1000 700 mountain 82 0 0 2;
+#X obj 1200 700 mountain 83 1 0 2;
+#X obj 1400 700 mountain 84 2 0 2;
+#X obj 1600 700 mountain 85 3 0 2;
+#X obj 1800 700 mountain 86 4 0 2;
+#X obj 2000 700 mountain 87 5 0 2;
+#X obj 0 800 mountain 88 -5 0 3;
+#X obj 200 800 mountain 89 -4 0 3;
+#X obj 400 800 mountain 90 -3 0 3;
+#X obj 600 800 mountain 91 -2 0 3;
+#X obj 800 800 mountain 92 -1 0 3;
+#X obj 1000 800 mountain 93 0 0 3;
+#X obj 1200 800 mountain 94 1 0 3;
+#X obj 1400 800 mountain 95 2 0 3;
+#X obj 1600 800 mountain 96 3 0 3;
+#X obj 1800 800 mountain 97 4 0 3;
+#X obj 2000 800 mountain 98 5 0 3;
+#X obj 0 900 mountain 99 -5 0 4;
+#X obj 200 900 mountain 100 -4 0 4;
+#X obj 400 900 mountain 101 -3 0 4;
+#X obj 600 900 mountain 102 -2 0 4;
+#X obj 800 900 mountain 103 -1 0 4;
+#X obj 1000 900 mountain 104 0 0 4;
+#X obj 1200 900 mountain 105 1 0 4;
+#X obj 1400 900 mountain 106 2 0 4;
+#X obj 1600 900 mountain 107 3 0 4;
+#X obj 1800 900 mountain 108 4 0 4;
+#X obj 2000 900 mountain 109 5 0 4;
+#X obj 0 1000 mountain 110 -5 0 5;
+#X obj 200 1000 mountain 111 -4 0 5;
+#X obj 400 1000 mountain 112 -3 0 5;
+#X obj 600 1000 mountain 113 -2 0 5;
+#X obj 800 1000 mountain 114 -1 0 5;
+#X obj 1000 1000 mountain 115 0 0 5;
+#X obj 1200 1000 mountain 116 1 0 5;
+#X obj 1400 1000 mountain 117 2 0 5;
+#X obj 1600 1000 mountain 118 3 0 5;
+#X obj 1800 1000 mountain 119 4 0 5;
+#X obj 2000 1000 mountain 120 5 0 5;
+#X connect 2 0 48 1;
+#X connect 2 0 58 2;
+#X connect 2 0 59 3;
+#X connect 2 1 47 0;
+#X connect 2 2 38 0;
+#X connect 3 0 39 1;
+#X connect 3 0 48 2;
+#X connect 3 0 49 3;
+#X connect 3 1 38 0;
+#X connect 3 2 28 0;
+#X connect 4 0 3 3;
+#X connect 4 0 28 1;
+#X connect 4 0 38 2;
+#X connect 4 1 27 0;
+#X connect 4 2 17 0;
+#X connect 5 0 6 1;
+#X connect 5 0 16 2;
+#X connect 5 0 17 3;
+#X connect 6 0 7 1;
+#X connect 6 0 17 2;
+#X connect 6 0 18 3;
+#X connect 6 1 5 0;
+#X connect 7 0 8 1;
+#X connect 7 0 18 2;
+#X connect 7 0 19 3;
+#X connect 7 1 6 0;
+#X connect 8 0 9 1;
+#X connect 8 0 19 2;
+#X connect 8 0 20 3;
+#X connect 8 1 7 0;
+#X connect 9 0 10 1;
+#X connect 9 0 20 2;
+#X connect 9 0 21 3;
+#X connect 9 1 8 0;
+#X connect 10 0 11 1;
+#X connect 10 0 21 2;
+#X connect 10 0 22 3;
+#X connect 10 1 9 0;
+#X connect 11 0 12 1;
+#X connect 11 0 22 2;
+#X connect 11 0 23 3;
+#X connect 11 1 10 0;
+#X connect 12 0 13 1;
+#X connect 12 0 23 2;
+#X connect 12 0 24 3;
+#X connect 12 1 11 0;
+#X connect 13 0 14 1;
+#X connect 13 0 24 2;
+#X connect 13 0 25 3;
+#X connect 13 1 12 0;
+#X connect 14 0 15 1;
+#X connect 14 0 25 2;
+#X connect 14 0 26 3;
+#X connect 14 1 13 0;
+#X connect 15 0 26 2;
+#X connect 15 1 14 0;
+#X connect 16 0 4 3;
+#X connect 16 0 17 1;
+#X connect 16 0 27 2;
+#X connect 16 2 5 0;
+#X connect 17 0 4 2;
+#X connect 17 0 18 1;
+#X connect 17 0 28 3;
+#X connect 17 1 16 0;
+#X connect 17 2 6 0;
+#X connect 18 0 19 1;
+#X connect 18 0 28 2;
+#X connect 18 0 29 3;
+#X connect 18 1 17 0;
+#X connect 18 2 7 0;
+#X connect 19 0 20 1;
+#X connect 19 0 29 2;
+#X connect 19 0 30 3;
+#X connect 19 1 18 0;
+#X connect 19 2 8 0;
+#X connect 20 0 21 1;
+#X connect 20 0 30 2;
+#X connect 20 0 31 3;
+#X connect 20 1 19 0;
+#X connect 20 2 9 0;
+#X connect 21 0 22 1;
+#X connect 21 0 31 2;
+#X connect 21 0 32 3;
+#X connect 21 1 20 0;
+#X connect 21 2 10 0;
+#X connect 22 0 23 1;
+#X connect 22 0 32 2;
+#X connect 22 0 33 3;
+#X connect 22 1 21 0;
+#X connect 22 2 11 0;
+#X connect 23 0 24 1;
+#X connect 23 0 33 2;
+#X connect 23 0 34 3;
+#X connect 23 1 22 0;
+#X connect 23 2 12 0;
+#X connect 24 0 25 1;
+#X connect 24 0 34 2;
+#X connect 24 0 35 3;
+#X connect 24 1 23 0;
+#X connect 24 2 13 0;
+#X connect 25 0 0 0;
+#X connect 25 0 26 1;
+#X connect 25 0 35 2;
+#X connect 25 0 36 3;
+#X connect 25 1 24 0;
+#X connect 25 2 14 0;
+#X connect 26 0 36 2;
+#X connect 26 1 25 0;
+#X connect 26 2 15 0;
+#X connect 27 0 4 1;
+#X connect 27 0 37 2;
+#X connect 27 0 38 3;
+#X connect 27 2 16 0;
+#X connect 28 0 3 2;
+#X connect 28 0 29 1;
+#X connect 28 0 39 3;
+#X connect 28 1 4 0;
+#X connect 28 2 18 0;
+#X connect 29 0 30 1;
+#X connect 29 0 39 2;
+#X connect 29 0 40 3;
+#X connect 29 1 28 0;
+#X connect 29 2 19 0;
+#X connect 30 0 31 1;
+#X connect 30 0 40 2;
+#X connect 30 0 41 3;
+#X connect 30 1 29 0;
+#X connect 30 2 20 0;
+#X connect 31 0 32 1;
+#X connect 31 0 41 2;
+#X connect 31 0 42 3;
+#X connect 31 1 30 0;
+#X connect 31 2 21 0;
+#X connect 32 0 33 1;
+#X connect 32 0 42 2;
+#X connect 32 0 43 3;
+#X connect 32 1 31 0;
+#X connect 32 2 22 0;
+#X connect 33 0 34 1;
+#X connect 33 0 43 2;
+#X connect 33 0 44 3;
+#X connect 33 1 32 0;
+#X connect 33 2 23 0;
+#X connect 34 0 35 1;
+#X connect 34 0 44 2;
+#X connect 34 0 45 3;
+#X connect 34 1 33 0;
+#X connect 34 2 24 0;
+#X connect 35 0 36 1;
+#X connect 35 0 45 2;
+#X connect 35 0 46 3;
+#X connect 35 1 34 0;
+#X connect 35 2 25 0;
+#X connect 36 0 46 2;
+#X connect 36 1 35 0;
+#X connect 36 2 26 0;
+#X connect 37 0 2 3;
+#X connect 37 0 38 1;
+#X connect 37 0 47 2;
+#X connect 37 2 27 0;
+#X connect 38 0 2 2;
+#X connect 38 0 3 1;
+#X connect 38 0 48 3;
+#X connect 38 1 37 0;
+#X connect 38 2 4 0;
+#X connect 39 0 40 1;
+#X connect 39 0 49 2;
+#X connect 39 0 50 3;
+#X connect 39 1 3 0;
+#X connect 39 2 29 0;
+#X connect 40 0 41 1;
+#X connect 40 0 50 2;
+#X connect 40 0 51 3;
+#X connect 40 1 39 0;
+#X connect 40 2 30 0;
+#X connect 41 0 42 1;
+#X connect 41 0 51 2;
+#X connect 41 0 52 3;
+#X connect 41 1 40 0;
+#X connect 41 2 31 0;
+#X connect 42 0 43 1;
+#X connect 42 0 52 2;
+#X connect 42 0 53 3;
+#X connect 42 1 41 0;
+#X connect 42 2 32 0;
+#X connect 43 0 44 1;
+#X connect 43 0 53 2;
+#X connect 43 0 54 3;
+#X connect 43 1 42 0;
+#X connect 43 2 33 0;
+#X connect 44 0 45 1;
+#X connect 44 0 54 2;
+#X connect 44 0 55 3;
+#X connect 44 1 43 0;
+#X connect 44 2 34 0;
+#X connect 45 0 46 1;
+#X connect 45 0 55 2;
+#X connect 45 0 56 3;
+#X connect 45 1 44 0;
+#X connect 45 2 35 0;
+#X connect 46 0 56 2;
+#X connect 46 1 45 0;
+#X connect 46 2 36 0;
+#X connect 47 0 2 1;
+#X connect 47 0 57 2;
+#X connect 47 0 58 3;
+#X connect 47 2 37 0;
+#X connect 48 0 49 1;
+#X connect 48 0 59 2;
+#X connect 48 0 60 3;
+#X connect 48 1 2 0;
+#X connect 48 2 3 0;
+#X connect 49 0 50 1;
+#X connect 49 0 60 2;
+#X connect 49 0 61 3;
+#X connect 49 1 48 0;
+#X connect 49 2 39 0;
+#X connect 50 0 51 1;
+#X connect 50 0 61 2;
+#X connect 50 0 62 3;
+#X connect 50 1 49 0;
+#X connect 50 2 40 0;
+#X connect 51 0 52 1;
+#X connect 51 0 62 2;
+#X connect 51 0 63 3;
+#X connect 51 1 50 0;
+#X connect 51 2 41 0;
+#X connect 52 0 53 1;
+#X connect 52 0 63 2;
+#X connect 52 0 64 3;
+#X connect 52 1 51 0;
+#X connect 52 2 42 0;
+#X connect 53 0 54 1;
+#X connect 53 0 64 2;
+#X connect 53 0 65 3;
+#X connect 53 1 52 0;
+#X connect 53 2 43 0;
+#X connect 54 0 55 1;
+#X connect 54 0 65 2;
+#X connect 54 0 66 3;
+#X connect 54 1 53 0;
+#X connect 54 2 44 0;
+#X connect 55 0 56 1;
+#X connect 55 0 66 2;
+#X connect 55 0 67 3;
+#X connect 55 1 54 0;
+#X connect 55 2 45 0;
+#X connect 56 0 67 2;
+#X connect 56 1 55 0;
+#X connect 56 2 46 0;
+#X connect 57 0 58 1;
+#X connect 57 0 68 2;
+#X connect 57 0 69 3;
+#X connect 57 2 47 0;
+#X connect 58 0 59 1;
+#X connect 58 0 69 2;
+#X connect 58 0 70 3;
+#X connect 58 1 57 0;
+#X connect 58 2 2 0;
+#X connect 59 0 60 1;
+#X connect 59 0 70 2;
+#X connect 59 0 71 3;
+#X connect 59 1 58 0;
+#X connect 59 2 48 0;
+#X connect 60 0 61 1;
+#X connect 60 0 71 2;
+#X connect 60 0 72 3;
+#X connect 60 1 59 0;
+#X connect 60 2 49 0;
+#X connect 61 0 62 1;
+#X connect 61 0 72 2;
+#X connect 61 0 73 3;
+#X connect 61 1 60 0;
+#X connect 61 2 50 0;
+#X connect 62 0 63 1;
+#X connect 62 0 73 2;
+#X connect 62 0 74 3;
+#X connect 62 1 61 0;
+#X connect 62 2 51 0;
+#X connect 63 0 64 1;
+#X connect 63 0 74 2;
+#X connect 63 0 75 3;
+#X connect 63 1 62 0;
+#X connect 63 2 52 0;
+#X connect 64 0 65 1;
+#X connect 64 0 75 2;
+#X connect 64 0 76 3;
+#X connect 64 1 63 0;
+#X connect 64 2 53 0;
+#X connect 65 0 66 1;
+#X connect 65 0 76 2;
+#X connect 65 0 77 3;
+#X connect 65 1 64 0;
+#X connect 65 2 54 0;
+#X connect 66 0 67 1;
+#X connect 66 0 77 2;
+#X connect 66 0 78 3;
+#X connect 66 1 65 0;
+#X connect 66 2 55 0;
+#X connect 67 0 78 2;
+#X connect 67 1 66 0;
+#X connect 67 2 56 0;
+#X connect 68 0 69 1;
+#X connect 68 0 79 2;
+#X connect 68 0 80 3;
+#X connect 68 2 57 0;
+#X connect 69 0 70 1;
+#X connect 69 0 80 2;
+#X connect 69 0 81 3;
+#X connect 69 1 68 0;
+#X connect 69 2 58 0;
+#X connect 70 0 71 1;
+#X connect 70 0 81 2;
+#X connect 70 0 82 3;
+#X connect 70 1 69 0;
+#X connect 70 2 59 0;
+#X connect 71 0 72 1;
+#X connect 71 0 82 2;
+#X connect 71 0 83 3;
+#X connect 71 1 70 0;
+#X connect 71 2 60 0;
+#X connect 72 0 73 1;
+#X connect 72 0 83 2;
+#X connect 72 0 84 3;
+#X connect 72 1 71 0;
+#X connect 72 2 61 0;
+#X connect 73 0 74 1;
+#X connect 73 0 84 2;
+#X connect 73 0 85 3;
+#X connect 73 1 72 0;
+#X connect 73 2 62 0;
+#X connect 74 0 75 1;
+#X connect 74 0 85 2;
+#X connect 74 0 86 3;
+#X connect 74 1 73 0;
+#X connect 74 2 63 0;
+#X connect 75 0 76 1;
+#X connect 75 0 86 2;
+#X connect 75 0 87 3;
+#X connect 75 1 74 0;
+#X connect 75 2 64 0;
+#X connect 76 0 77 1;
+#X connect 76 0 87 2;
+#X connect 76 0 88 3;
+#X connect 76 1 75 0;
+#X connect 76 2 65 0;
+#X connect 77 0 78 1;
+#X connect 77 0 88 2;
+#X connect 77 0 89 3;
+#X connect 77 1 76 0;
+#X connect 77 2 66 0;
+#X connect 78 0 89 2;
+#X connect 78 1 77 0;
+#X connect 78 2 67 0;
+#X connect 79 0 80 1;
+#X connect 79 0 90 2;
+#X connect 79 0 91 3;
+#X connect 79 2 68 0;
+#X connect 80 0 81 1;
+#X connect 80 0 91 2;
+#X connect 80 0 92 3;
+#X connect 80 1 79 0;
+#X connect 80 2 69 0;
+#X connect 81 0 82 1;
+#X connect 81 0 92 2;
+#X connect 81 0 93 3;
+#X connect 81 1 80 0;
+#X connect 81 2 70 0;
+#X connect 82 0 83 1;
+#X connect 82 0 93 2;
+#X connect 82 0 94 3;
+#X connect 82 1 81 0;
+#X connect 82 2 71 0;
+#X connect 83 0 84 1;
+#X connect 83 0 94 2;
+#X connect 83 0 95 3;
+#X connect 83 1 82 0;
+#X connect 83 2 72 0;
+#X connect 84 0 85 1;
+#X connect 84 0 95 2;
+#X connect 84 0 96 3;
+#X connect 84 1 83 0;
+#X connect 84 2 73 0;
+#X connect 85 0 86 1;
+#X connect 85 0 96 2;
+#X connect 85 0 97 3;
+#X connect 85 1 84 0;
+#X connect 85 2 74 0;
+#X connect 86 0 87 1;
+#X connect 86 0 97 2;
+#X connect 86 0 98 3;
+#X connect 86 1 85 0;
+#X connect 86 2 75 0;
+#X connect 87 0 88 1;
+#X connect 87 0 98 2;
+#X connect 87 0 99 3;
+#X connect 87 1 86 0;
+#X connect 87 2 76 0;
+#X connect 88 0 89 1;
+#X connect 88 0 99 2;
+#X connect 88 0 100 3;
+#X connect 88 1 87 0;
+#X connect 88 2 77 0;
+#X connect 89 0 100 2;
+#X connect 89 1 88 0;
+#X connect 89 2 78 0;
+#X connect 90 0 91 1;
+#X connect 90 0 101 2;
+#X connect 90 0 102 3;
+#X connect 90 2 79 0;
+#X connect 91 0 1 0;
+#X connect 91 0 92 1;
+#X connect 91 0 102 2;
+#X connect 91 0 103 3;
+#X connect 91 1 90 0;
+#X connect 91 2 80 0;
+#X connect 92 0 93 1;
+#X connect 92 0 103 2;
+#X connect 92 0 104 3;
+#X connect 92 1 91 0;
+#X connect 92 2 81 0;
+#X connect 93 0 94 1;
+#X connect 93 0 104 2;
+#X connect 93 0 105 3;
+#X connect 93 1 92 0;
+#X connect 93 2 82 0;
+#X connect 94 0 95 1;
+#X connect 94 0 105 2;
+#X connect 94 0 106 3;
+#X connect 94 1 93 0;
+#X connect 94 2 83 0;
+#X connect 95 0 96 1;
+#X connect 95 0 106 2;
+#X connect 95 0 107 3;
+#X connect 95 1 94 0;
+#X connect 95 2 84 0;
+#X connect 96 0 97 1;
+#X connect 96 0 107 2;
+#X connect 96 0 108 3;
+#X connect 96 1 95 0;
+#X connect 96 2 85 0;
+#X connect 97 0 98 1;
+#X connect 97 0 108 2;
+#X connect 97 0 109 3;
+#X connect 97 1 96 0;
+#X connect 97 2 86 0;
+#X connect 98 0 99 1;
+#X connect 98 0 109 2;
+#X connect 98 0 110 3;
+#X connect 98 1 97 0;
+#X connect 98 2 87 0;
+#X connect 99 0 100 1;
+#X connect 99 0 110 2;
+#X connect 99 0 111 3;
+#X connect 99 1 98 0;
+#X connect 99 2 88 0;
+#X connect 100 0 111 2;
+#X connect 100 1 99 0;
+#X connect 100 2 89 0;
+#X connect 101 0 102 1;
+#X connect 101 0 112 2;
+#X connect 101 0 113 3;
+#X connect 101 2 90 0;
+#X connect 102 0 103 1;
+#X connect 102 0 113 2;
+#X connect 102 0 114 3;
+#X connect 102 1 101 0;
+#X connect 102 2 91 0;
+#X connect 103 0 104 1;
+#X connect 103 0 114 2;
+#X connect 103 0 115 3;
+#X connect 103 1 102 0;
+#X connect 103 2 92 0;
+#X connect 104 0 105 1;
+#X connect 104 0 115 2;
+#X connect 104 0 116 3;
+#X connect 104 1 103 0;
+#X connect 104 2 93 0;
+#X connect 105 0 106 1;
+#X connect 105 0 116 2;
+#X connect 105 0 117 3;
+#X connect 105 1 104 0;
+#X connect 105 2 94 0;
+#X connect 106 0 107 1;
+#X connect 106 0 117 2;
+#X connect 106 0 118 3;
+#X connect 106 1 105 0;
+#X connect 106 2 95 0;
+#X connect 107 0 108 1;
+#X connect 107 0 118 2;
+#X connect 107 0 119 3;
+#X connect 107 1 106 0;
+#X connect 107 2 96 0;
+#X connect 108 0 109 1;
+#X connect 108 0 119 2;
+#X connect 108 0 120 3;
+#X connect 108 1 107 0;
+#X connect 108 2 97 0;
+#X connect 109 0 110 1;
+#X connect 109 0 120 2;
+#X connect 109 0 121 3;
+#X connect 109 1 108 0;
+#X connect 109 2 98 0;
+#X connect 110 0 111 1;
+#X connect 110 0 121 2;
+#X connect 110 0 122 3;
+#X connect 110 1 109 0;
+#X connect 110 2 99 0;
+#X connect 111 0 122 2;
+#X connect 111 1 110 0;
+#X connect 111 2 100 0;
+#X connect 112 0 113 1;
+#X connect 112 2 101 0;
+#X connect 113 0 114 1;
+#X connect 113 1 112 0;
+#X connect 113 2 102 0;
+#X connect 114 0 115 1;
+#X connect 114 1 113 0;
+#X connect 114 2 103 0;
+#X connect 115 0 116 1;
+#X connect 115 1 114 0;
+#X connect 115 2 104 0;
+#X connect 116 0 117 1;
+#X connect 116 1 115 0;
+#X connect 116 2 105 0;
+#X connect 117 0 118 1;
+#X connect 117 1 116 0;
+#X connect 117 2 106 0;
+#X connect 118 0 119 1;
+#X connect 118 1 117 0;
+#X connect 118 2 107 0;
+#X connect 119 0 120 1;
+#X connect 119 1 118 0;
+#X connect 119 2 108 0;
+#X connect 120 0 121 1;
+#X connect 120 1 119 0;
+#X connect 120 2 109 0;
+#X connect 121 0 122 1;
+#X connect 121 1 120 0;
+#X connect 121 2 110 0;
+#X connect 122 1 121 0;
+#X connect 122 2 111 0;
+#X restore 15 366 pd array;
+#X obj 16 122 t b b;
+#X obj 16 48 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1
+;
+#X msg 160 112 0 \, destroy;
+#X floatatom 59 74 5 0 0 0 - - -;
+#X text 432 110 <- reset the simulation;
+#X obj 151 212 ch_gemwin;
+#X obj 170 143 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 0 1;
+#X obj 186 167 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 0 1;
+#X obj 203 190 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 0 1;
+#X text 249 125 camera position;
+#X msg 151 87 reset \, lighting 1 \, create \, 1;
+#X obj 604 138 gemhead 1;
+#X obj 604 187 world_light;
+#X obj 604 163 rotateXYZ 0 0 0;
+#X obj 403 112 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 404 137 s init;
+#X floatatom 544 137 5 0 0 0 - - -;
+#X obj 544 159 s size;
+#X msg 490 135 reset;
+#X obj 490 159 s M;
+#X obj 16 95 metro 50;
+#X obj 388 91 loadbang;
+#X text 321 10 newWave;
+#X text 203 23 this exemple is a bit like Gem native object : newWave.
+;
+#N canvas 0 0 458 308 constructor 0;
+#X obj 20 124 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 20 146 constructor 11 1 11 -5 5 0 0 -5 5 mountain;
+#X msg 265 17 1 0 0 1 2;
+#X msg 274 38 -1 0 0 2 1;
+#X msg 288 60 0 0 1 1 3;
+#X msg 297 81 0 0 -1 3 1;
+#X msg 309 109 1 0 1 1 4;
+#X connect 0 0 1 0;
+#X connect 2 0 1 1;
+#X connect 3 0 1 1;
+#X connect 4 0 1 1;
+#X connect 5 0 1 1;
+#X connect 6 0 1 1;
+#X restore 490 181 pd constructor;
+#X obj 444 535 dac~;
+#X obj 445 459 line~;
+#N canvas 0 0 456 306 graph1 0;
+#X array fooL 50000 float 0;
+#X coords 0 1 49999 -1 200 140 1;
+#X restore 198 321 graph;
+#X obj 88 388 + 1;
+#X obj 88 361 f;
+#X msg 117 360 0;
+#X obj 117 336 r init;
+#X obj 88 290 r L;
+#X obj 388 190 s L;
+#X obj 88 314 route bang;
+#X msg 460 430 0 \, 100000 10000;
+#X msg 451 406 0 \, 100000 4000;
+#X msg 445 383 0 \, 100000 1000;
+#X text 151 244 you can record the position of a mass in a array. This
+array can be read at audio rate...;
+#X text 452 362 play the sound at various frequency;
+#X text 37 46 <- begin (change metro speed for slow computer);
+#X text 151 273 you can accelerate trhe simulation if the CPU allows
+you \, to accelerate the computing of the array.;
+#X obj 445 343 loadbang;
+#X obj 15 463 tabwrite fooL;
+#X obj 58 437 tabwrite fooR;
+#N canvas 0 0 456 306 graph1 0;
+#X array fooR 50000 float 0;
+#X coords 0 1 49999 -1 200 140 1;
+#X restore 198 469 graph;
+#X obj 445 511 tabread4~ fooL;
+#X obj 462 487 tabread4~ fooR;
+#X msg 388 164 setD2 0.001;
+#X obj 16 144 s L;
+#X obj 41 144 s M;
+#X connect 0 0 44 0;
+#X connect 0 1 45 0;
+#X connect 1 0 50 0;
+#X connect 1 1 51 0;
+#X connect 2 0 21 0;
+#X connect 3 0 6 0;
+#X connect 4 0 21 1;
+#X connect 7 0 6 1;
+#X connect 8 0 6 2;
+#X connect 9 0 6 3;
+#X connect 11 0 6 0;
+#X connect 12 0 14 0;
+#X connect 14 0 13 0;
+#X connect 15 0 16 0;
+#X connect 17 0 18 0;
+#X connect 19 0 20 0;
+#X connect 21 0 1 0;
+#X connect 22 0 16 0;
+#X connect 22 0 49 0;
+#X connect 27 0 47 0;
+#X connect 27 0 48 0;
+#X connect 29 0 30 1;
+#X connect 29 0 45 1;
+#X connect 29 0 44 1;
+#X connect 30 0 29 0;
+#X connect 31 0 29 0;
+#X connect 32 0 31 0;
+#X connect 33 0 35 0;
+#X connect 35 0 30 0;
+#X connect 36 0 27 0;
+#X connect 37 0 27 0;
+#X connect 38 0 27 0;
+#X connect 43 0 38 0;
+#X connect 47 0 26 0;
+#X connect 48 0 26 1;
+#X connect 49 0 34 0;
diff --git a/examples/46_non_linear.pd b/examples/46_non_linear.pd
new file mode 100644
index 0000000..c0c66aa
--- /dev/null
+++ b/examples/46_non_linear.pd
@@ -0,0 +1,191 @@
+#N canvas 42 51 885 658 12;
+#X obj 144 508 vsl 15 128 0 127 0 0 empty empty empty 0 -8 0 8 -262144
+-1 -1 6988 1;
+#X obj 162 508 vsl 15 128 0 127 0 0 empty empty empty 0 -8 0 8 -262144
+-1 -1 7419 1;
+#X obj 180 508 vsl 15 128 0 127 0 0 empty empty empty 0 -8 0 8 -262144
+-1 -1 7655 1;
+#X obj 198 508 vsl 15 128 0 127 0 0 empty empty empty 0 -8 0 8 -262144
+-1 -1 7806 1;
+#X obj 216 508 vsl 15 128 0 127 0 0 empty empty empty 0 -8 0 8 -262144
+-1 -1 7830 1;
+#X obj 234 508 vsl 15 128 0 127 0 0 empty empty empty 0 -8 0 8 -262144
+-1 -1 7834 1;
+#X obj 19 148 metro 10;
+#X obj 252 508 vsl 15 128 0 127 0 0 empty empty empty 0 -8 0 8 -262144
+-1 -1 7746 1;
+#X obj 19 175 t b b;
+#X obj 54 200 s \$0-link;
+#X obj 19 226 s \$0-mass;
+#X obj 19 401 link \$0-link 0 1 1;
+#X obj 167 401 link \$0-link 0 1 1;
+#X obj 316 401 link \$0-link 0 1 1;
+#X obj 480 403 link \$0-link 0 1 1;
+#X obj 630 403 link \$0-link 0 1 1;
+#X obj 778 403 link \$0-link 0 1 1;
+#X obj 927 403 link \$0-link 0 1 1;
+#X obj 1073 402 link \$0-link 0 1 1;
+#X msg 19 376 64;
+#X obj 19 349 loadbang;
+#X obj 568 213 moses 0;
+#X obj 568 139 link \$0-link 0 0 1;
+#X obj 568 238 * -1;
+#X obj 17 460 link \$0-link 0 1 1;
+#X obj 166 460 link \$0-link 0 1 1;
+#X obj 315 460 link \$0-link 0 1 1;
+#X obj 472 459 link \$0-link 0 1 1;
+#X obj 620 459 link \$0-link 0 1 1;
+#X obj 769 459 link \$0-link 0 1 1;
+#X msg 928 458 64;
+#X obj 927 436 loadbang;
+#X obj 271 508 vsl 15 128 0 127 0 0 empty empty empty 0 -8 0 8 -262144
+-1 -1 7562 1;
+#X obj 289 508 vsl 15 128 0 127 0 0 empty empty empty 0 -8 0 8 -262144
+-1 -1 7336 1;
+#X obj 307 508 vsl 15 128 0 127 0 0 empty empty empty 0 -8 0 8 -262144
+-1 -1 7115 1;
+#X obj 325 508 vsl 15 128 0 127 0 0 empty empty empty 0 -8 0 8 -262144
+-1 -1 6917 1;
+#X obj 343 508 vsl 15 128 0 127 0 0 empty empty empty 0 -8 0 8 -262144
+-1 -1 6738 1;
+#X obj 361 508 vsl 15 128 0 127 0 0 empty empty empty 0 -8 0 8 -262144
+-1 -1 6567 1;
+#X obj 19 120 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1
+;
+#X obj 568 163 * 40;
+#X obj 568 188 + 35;
+#X obj 568 292 * -16;
+#X obj 619 317 * 16;
+#X obj 162 377 mass \$0-mass 30 64;
+#X obj 313 378 mass \$0-mass 30 64;
+#X obj 475 379 mass \$0-mass 30 64;
+#X obj 626 379 mass \$0-mass 30 64;
+#X obj 774 378 mass \$0-mass 30 64;
+#X obj 925 378 mass \$0-mass 30 64;
+#X obj 1069 377 mass \$0-mass 30 64;
+#X obj 12 434 mass \$0-mass 30 64;
+#X obj 163 437 mass \$0-mass 30 64;
+#X obj 310 436 mass \$0-mass 30 64;
+#X obj 468 435 mass \$0-mass 30 64;
+#X obj 616 434 mass \$0-mass 30 64;
+#X obj 767 434 mass \$0-mass 30 64;
+#N canvas 0 0 450 300 graph2 0;
+#X array force_speed 127 float 1;
+#A 0 -0.0133335 0.126668 0.413337 0.740006 0.993341 0.886674 0.83334
+0.780006 0.746673 0.700005 0.686672 0.640005 0.600005 0.573338 0.546671
+0.520004 0.48667 0.460004 0.453337 0.42667 0.420003 0.400003 0.38667
+0.380003 0.366669 0.353336 0.340003 0.320002 0.320002 0.306669 0.293336
+0.286669 0.273335 0.260002 0.253335 0.253335 0.240002 0.226668 0.226668
+0.220002 0.213335 0.206668 0.200001 0.193335 0.186668 0.186668 0.186668
+0.180001 0.180001 0.173335 0.160001 0.160001 0.153334 0.140001 0.133334
+0.126668 0.120001 0.120001 0.113334 0.113334 0.106667 0.100001 0.093334
+0.0866672 0.0866672 0.0800005 0.0733338 0.0666671 0.0666671 0.0600004
+0.0600004 0.0533336 0.0533336 0.0533336 0.0533336 0.0466669 0.0466669
+0.0466669 0.0466669 0.0466669 0.0466669 0.0466669 0.0466669 0.0466669
+0.0466669 0.0466669 0.0466669 0.0400002 0.0400002 0.0400002 0.0400002
+0.0400002 0.0400002 0.0400002 0.0400002 0.0333335 0.0333335 0.0266668
+0.0266668 0.0266668 0.0266668 0.0266668 0.0266668 0.0266668 0.0266668
+0.0266668 0.0266668 0.0266668 0.0266668 0.0266668 0.0266668 0.0266668
+0.0266668 0.0266668 0.0266668 0.0266668 0.0200001 0.0200001 0.0200001
+0.0200001 0.0266668 0.0266668 0.0266668 0.0266668 0.0266668 0.0266668
+0.0200001;
+#X coords 0 1 126 -1 200 100 1;
+#X restore 214 142 graph;
+#X obj 568 265 tabread4 force_speed;
+#X obj 619 292 tabread4 force_speed;
+#X text 105 5 This is an exemple of non linear link;
+#X text 105 26 a table is used to store the relation between deformation
+speed and force;
+#X text 611 188 bow speed;
+#X text 610 164 adjust curve size;
+#X text 463 338 use the same curve for positive or negative force;
+#X text 520 120 non linear exitation of a sigle mass;
+#X text 27 273 the speed / force relation is like a bow on a string
+interaction;
+#X text 103 65 this simulation provide a continus exitation \, like
+in a violon string exited with a bow.;
+#X text 49 117 <- 1;
+#X connect 6 0 8 0;
+#X connect 8 0 10 0;
+#X connect 8 1 9 0;
+#X connect 11 1 43 0;
+#X connect 12 0 43 0;
+#X connect 12 1 44 0;
+#X connect 13 0 44 0;
+#X connect 13 1 45 0;
+#X connect 14 0 45 0;
+#X connect 14 1 46 0;
+#X connect 15 0 46 0;
+#X connect 15 1 47 0;
+#X connect 16 0 47 0;
+#X connect 16 1 48 0;
+#X connect 17 0 48 0;
+#X connect 17 1 49 0;
+#X connect 18 0 49 0;
+#X connect 18 1 50 0;
+#X connect 19 0 11 0;
+#X connect 20 0 19 0;
+#X connect 21 0 23 0;
+#X connect 21 1 58 0;
+#X connect 22 0 39 0;
+#X connect 23 0 57 0;
+#X connect 24 0 50 0;
+#X connect 24 1 51 0;
+#X connect 25 0 51 0;
+#X connect 25 1 52 0;
+#X connect 26 0 52 0;
+#X connect 26 1 53 0;
+#X connect 27 0 53 0;
+#X connect 27 1 54 0;
+#X connect 28 0 54 0;
+#X connect 28 1 55 0;
+#X connect 29 0 55 0;
+#X connect 30 0 29 1;
+#X connect 31 0 30 0;
+#X connect 38 0 6 0;
+#X connect 39 0 40 0;
+#X connect 40 0 21 0;
+#X connect 41 0 46 0;
+#X connect 42 0 46 0;
+#X connect 43 0 0 0;
+#X connect 43 0 11 1;
+#X connect 43 0 12 0;
+#X connect 44 0 1 0;
+#X connect 44 0 12 1;
+#X connect 44 0 13 0;
+#X connect 45 0 2 0;
+#X connect 45 0 13 1;
+#X connect 45 0 14 0;
+#X connect 46 0 3 0;
+#X connect 46 0 14 1;
+#X connect 46 0 15 0;
+#X connect 46 0 22 0;
+#X connect 47 0 4 0;
+#X connect 47 0 15 1;
+#X connect 47 0 16 0;
+#X connect 48 0 5 0;
+#X connect 48 0 16 1;
+#X connect 48 0 17 0;
+#X connect 49 0 7 0;
+#X connect 49 0 17 1;
+#X connect 49 0 18 0;
+#X connect 50 0 24 0;
+#X connect 50 0 18 1;
+#X connect 50 0 32 0;
+#X connect 51 0 24 1;
+#X connect 51 0 25 0;
+#X connect 51 0 33 0;
+#X connect 52 0 25 1;
+#X connect 52 0 26 0;
+#X connect 52 0 34 0;
+#X connect 53 0 26 1;
+#X connect 53 0 27 0;
+#X connect 53 0 35 0;
+#X connect 54 0 27 1;
+#X connect 54 0 28 0;
+#X connect 54 0 36 0;
+#X connect 55 0 28 1;
+#X connect 55 0 29 0;
+#X connect 55 0 37 0;
+#X connect 57 0 41 0;
+#X connect 58 0 42 0;
diff --git a/examples/47_scann_synth.pd b/examples/47_scann_synth.pd
new file mode 100644
index 0000000..450844e
--- /dev/null
+++ b/examples/47_scann_synth.pd
@@ -0,0 +1,1379 @@
+#N canvas 581 245 515 493 12;
+#N canvas 72 27 1257 926 corde 0;
+#N canvas 306 123 345 326 mass 0;
+#X obj 65 20 inlet;
+#X obj 65 80 outlet;
+#X obj 124 135 gemhead;
+#X obj 125 82 unpack s f f;
+#X obj 124 166 translateXYZ 0 0 0;
+#X obj 170 108 / 100;
+#X obj 216 109 / 100;
+#X obj 124 194 sphere 0.1;
+#X obj 131 17 r \$1-on;
+#X obj 65 52 mass2D \$0-mass 10 -260;
+#X connect 0 0 9 0;
+#X connect 2 0 4 0;
+#X connect 3 1 5 0;
+#X connect 3 2 6 0;
+#X connect 4 0 7 0;
+#X connect 5 0 4 1;
+#X connect 6 0 4 2;
+#X connect 8 0 2 0;
+#X connect 9 0 1 0;
+#X connect 9 0 3 0;
+#X restore 153 387 pd mass;
+#X msg 721 211 setK \$1;
+#X obj 721 243 s link;
+#X obj 721 159 + 1;
+#X msg 805 211 setD \$1;
+#X msg 890 211 setD2 \$1;
+#N canvas 306 123 419 313 mass 0;
+#X obj 24 99 outlet;
+#X obj 145 98 gemhead;
+#X obj 137 134 unpack s f f;
+#X obj 143 190 translateXYZ 0 0 0;
+#X obj 185 160 / 100;
+#X obj 228 161 / 100;
+#X obj 144 224 sphere 0.1;
+#X msg 25 42 reset;
+#X obj 152 26 r \$1-on;
+#X obj 28 71 mass2D foo 10 -300 0;
+#X connect 1 0 3 0;
+#X connect 2 1 4 0;
+#X connect 2 2 5 0;
+#X connect 3 0 6 0;
+#X connect 4 0 3 1;
+#X connect 5 0 3 2;
+#X connect 7 0 9 0;
+#X connect 8 0 1 0;
+#X connect 9 0 0 0;
+#X connect 9 0 2 0;
+#X restore 17 360 pd mass;
+#N canvas 306 123 309 290 mass 0;
+#X obj 24 23 inlet;
+#X obj 24 83 outlet;
+#X obj 83 138 gemhead;
+#X obj 84 85 unpack s f f;
+#X obj 83 169 translateXYZ 0 0 0;
+#X obj 129 111 / 100;
+#X obj 175 112 / 100;
+#X obj 83 197 sphere 0.1;
+#X obj 131 17 r \$1-on;
+#X obj 25 55 mass2D \$0-mass 10 -220;
+#X connect 0 0 9 0;
+#X connect 2 0 4 0;
+#X connect 3 1 5 0;
+#X connect 3 2 6 0;
+#X connect 4 0 7 0;
+#X connect 5 0 4 1;
+#X connect 6 0 4 2;
+#X connect 8 0 2 0;
+#X connect 9 0 1 0;
+#X connect 9 0 3 0;
+#X restore 298 393 pd mass;
+#X obj 17 386 link2D link 30 1 1;
+#X obj 168 349 link2D link 30 1 1;
+#N canvas 306 123 311 292 mass 0;
+#X obj 24 23 inlet;
+#X obj 24 83 outlet;
+#X obj 83 138 gemhead;
+#X obj 84 85 unpack s f f;
+#X obj 83 169 translateXYZ 0 0 0;
+#X obj 129 111 / 100;
+#X obj 175 112 / 100;
+#X obj 83 197 sphere 0.1;
+#X obj 131 17 r \$1-on;
+#X obj 24 55 mass2D \$0-mass 10 -180;
+#X connect 0 0 9 0;
+#X connect 2 0 4 0;
+#X connect 3 1 5 0;
+#X connect 3 2 6 0;
+#X connect 4 0 7 0;
+#X connect 5 0 4 1;
+#X connect 6 0 4 2;
+#X connect 8 0 2 0;
+#X connect 9 0 1 0;
+#X connect 9 0 3 0;
+#X restore 442 387 pd mass;
+#N canvas 306 123 299 280 mass 0;
+#X obj 24 23 inlet;
+#X obj 24 83 outlet;
+#X obj 83 138 gemhead;
+#X obj 84 85 unpack s f f;
+#X obj 83 169 translateXYZ 0 0 0;
+#X obj 129 111 / 100;
+#X obj 175 112 / 100;
+#X obj 83 198 sphere 0.1;
+#X obj 131 17 r \$1-on;
+#X obj 24 55 mass2D \$0-mass 10 -140;
+#X connect 0 0 9 0;
+#X connect 2 0 4 0;
+#X connect 3 1 5 0;
+#X connect 3 2 6 0;
+#X connect 4 0 7 0;
+#X connect 5 0 4 1;
+#X connect 6 0 4 2;
+#X connect 8 0 2 0;
+#X connect 9 0 1 0;
+#X connect 9 0 3 0;
+#X restore 580 390 pd mass;
+#X obj 310 350 link2D link 30 1 1;
+#X obj 457 349 link2D link 30 1 1;
+#N canvas 306 123 299 280 mass 0;
+#X obj 24 23 inlet;
+#X obj 24 83 outlet;
+#X obj 83 138 gemhead;
+#X obj 84 85 unpack s f f;
+#X obj 83 169 translateXYZ 0 0 0;
+#X obj 129 111 / 100;
+#X obj 175 112 / 100;
+#X obj 83 197 sphere 0.1;
+#X obj 129 20 r \$1-on;
+#X obj 24 55 mass2D \$0-mass 10 -100;
+#X connect 0 0 9 0;
+#X connect 2 0 4 0;
+#X connect 3 1 5 0;
+#X connect 3 2 6 0;
+#X connect 4 0 7 0;
+#X connect 5 0 4 1;
+#X connect 6 0 4 2;
+#X connect 8 0 2 0;
+#X connect 9 0 1 0;
+#X connect 9 0 3 0;
+#X restore 729 390 pd mass;
+#X obj 606 349 link2D link 30 1 1;
+#N canvas 306 123 299 280 mass 0;
+#X obj 24 23 inlet;
+#X obj 24 83 outlet;
+#X obj 83 138 gemhead;
+#X obj 84 85 unpack s f f;
+#X obj 83 169 translateXYZ 0 0 0;
+#X obj 129 111 / 100;
+#X obj 175 112 / 100;
+#X obj 83 197 sphere 0.1;
+#X obj 131 17 r \$1-on;
+#X obj 24 55 mass2D \$0-mass 10 -60;
+#X connect 0 0 9 0;
+#X connect 2 0 4 0;
+#X connect 3 1 5 0;
+#X connect 3 2 6 0;
+#X connect 4 0 7 0;
+#X connect 5 0 4 1;
+#X connect 6 0 4 2;
+#X connect 8 0 2 0;
+#X connect 9 0 1 0;
+#X connect 9 0 3 0;
+#X restore 880 387 pd mass;
+#N canvas 306 123 299 280 mass 0;
+#X obj 24 23 inlet;
+#X obj 24 83 outlet;
+#X obj 83 138 gemhead;
+#X obj 84 85 unpack s f f;
+#X obj 83 169 translateXYZ 0 0 0;
+#X obj 129 111 / 100;
+#X obj 175 112 / 100;
+#X obj 83 197 sphere 0.1;
+#X obj 131 17 r \$1-on;
+#X obj 24 55 mass2D \$0-mass 10 -20;
+#X connect 0 0 9 0;
+#X connect 2 0 4 0;
+#X connect 3 1 5 0;
+#X connect 3 2 6 0;
+#X connect 4 0 7 0;
+#X connect 5 0 4 1;
+#X connect 6 0 4 2;
+#X connect 8 0 2 0;
+#X connect 9 0 1 0;
+#X connect 9 0 3 0;
+#X restore 1014 389 pd mass;
+#X obj 748 350 link2D link 30 1 1;
+#X obj 895 349 link2D link 30 1 1;
+#N canvas 306 123 295 276 mass 0;
+#X obj 24 23 inlet;
+#X obj 24 83 outlet;
+#X obj 83 138 gemhead;
+#X obj 84 85 unpack s f f;
+#X obj 83 169 translateXYZ 0 0 0;
+#X obj 129 111 / 100;
+#X obj 175 112 / 100;
+#X obj 83 197 sphere 0.1;
+#X obj 131 17 r \$1-on;
+#X obj 24 55 mass2D \$0-mass 10 20;
+#X connect 0 0 9 0;
+#X connect 2 0 4 0;
+#X connect 3 1 5 0;
+#X connect 3 2 6 0;
+#X connect 4 0 7 0;
+#X connect 5 0 4 1;
+#X connect 6 0 4 2;
+#X connect 8 0 2 0;
+#X connect 9 0 1 0;
+#X connect 9 0 3 0;
+#X restore 139 559 pd mass;
+#N canvas 306 123 299 280 mass 0;
+#X obj 24 23 inlet;
+#X obj 24 83 outlet;
+#X obj 83 138 gemhead;
+#X obj 84 85 unpack s f f;
+#X obj 83 169 translateXYZ 0 0 0;
+#X obj 129 111 / 100;
+#X obj 175 112 / 100;
+#X obj 83 197 sphere 0.1;
+#X obj 131 17 r \$1-on;
+#X obj 24 54 mass2D \$0-mass 10 60;
+#X connect 0 0 9 0;
+#X connect 2 0 4 0;
+#X connect 3 1 5 0;
+#X connect 3 2 6 0;
+#X connect 4 0 7 0;
+#X connect 5 0 4 1;
+#X connect 6 0 4 2;
+#X connect 8 0 2 0;
+#X connect 9 0 1 0;
+#X connect 9 0 3 0;
+#X restore 274 564 pd mass;
+#X obj 6 522 link2D link 30 1 1;
+#X obj 153 521 link2D link 30 1 1;
+#N canvas 306 123 303 284 mass 0;
+#X obj 24 23 inlet;
+#X obj 24 83 outlet;
+#X obj 83 138 gemhead;
+#X obj 84 85 unpack s f f;
+#X obj 83 169 translateXYZ 0 0 0;
+#X obj 129 111 / 100;
+#X obj 175 112 / 100;
+#X obj 83 197 sphere 0.1;
+#X obj 131 17 r \$1-on;
+#X obj 24 55 mass2D \$0-mass 10 100;
+#X connect 0 0 9 0;
+#X connect 2 0 4 0;
+#X connect 3 1 5 0;
+#X connect 3 2 6 0;
+#X connect 4 0 7 0;
+#X connect 5 0 4 1;
+#X connect 6 0 4 2;
+#X connect 8 0 2 0;
+#X connect 9 0 1 0;
+#X connect 9 0 3 0;
+#X restore 427 559 pd mass;
+#N canvas 306 123 295 276 mass 0;
+#X obj 24 23 inlet;
+#X obj 24 83 outlet;
+#X obj 83 138 gemhead;
+#X obj 84 85 unpack s f f;
+#X obj 83 169 translateXYZ 0 0 0;
+#X obj 129 111 / 100;
+#X obj 175 112 / 100;
+#X obj 83 197 sphere 0.1;
+#X obj 131 17 r \$1-on;
+#X obj 24 55 mass2D \$0-mass 10 140;
+#X connect 0 0 9 0;
+#X connect 2 0 4 0;
+#X connect 3 1 5 0;
+#X connect 3 2 6 0;
+#X connect 4 0 7 0;
+#X connect 5 0 4 1;
+#X connect 6 0 4 2;
+#X connect 8 0 2 0;
+#X connect 9 0 1 0;
+#X connect 9 0 3 0;
+#X restore 565 562 pd mass;
+#X obj 295 522 link2D link 30 1 1;
+#X obj 442 521 link2D link 30 1 1;
+#N canvas 306 123 295 276 mass 0;
+#X obj 24 23 inlet;
+#X obj 24 83 outlet;
+#X obj 83 138 gemhead;
+#X obj 84 85 unpack s f f;
+#X obj 83 169 translateXYZ 0 0 0;
+#X obj 129 111 / 100;
+#X obj 175 112 / 100;
+#X obj 83 221 sphere 0.1;
+#X obj 131 17 r \$1-on;
+#X obj 83 196 color 1 0 0;
+#X obj 24 55 mass2D \$0-mass 10 180;
+#X connect 0 0 10 0;
+#X connect 2 0 4 0;
+#X connect 3 1 5 0;
+#X connect 3 2 6 0;
+#X connect 4 0 9 0;
+#X connect 5 0 4 1;
+#X connect 6 0 4 2;
+#X connect 8 0 2 0;
+#X connect 9 0 7 0;
+#X connect 10 0 1 0;
+#X connect 10 0 3 0;
+#X restore 714 562 pd mass;
+#X obj 591 521 link2D link 30 1 1;
+#N canvas 306 123 303 284 mass 0;
+#X obj 24 23 inlet;
+#X obj 24 83 outlet;
+#X obj 83 138 gemhead;
+#X obj 84 85 unpack s f f;
+#X obj 83 169 translateXYZ 0 0 0;
+#X obj 129 111 / 100;
+#X obj 175 112 / 100;
+#X obj 83 197 sphere 0.1;
+#X obj 131 17 r \$1-on;
+#X obj 24 55 mass2D \$0-mass 10 220;
+#X connect 0 0 9 0;
+#X connect 2 0 4 0;
+#X connect 3 1 5 0;
+#X connect 3 2 6 0;
+#X connect 4 0 7 0;
+#X connect 5 0 4 1;
+#X connect 6 0 4 2;
+#X connect 8 0 2 0;
+#X connect 9 0 1 0;
+#X connect 9 0 3 0;
+#X restore 863 561 pd mass;
+#N canvas 306 123 311 292 mass 0;
+#X obj 24 83 outlet;
+#X obj 83 138 gemhead;
+#X obj 84 85 unpack s f f;
+#X obj 83 169 translateXYZ 0 0 0;
+#X obj 129 111 / 100;
+#X obj 175 112 / 100;
+#X obj 83 197 sphere 0.1;
+#X msg 26 31 reset;
+#X obj 131 17 r \$1-on;
+#X obj 24 55 mass2D foo 10 300;
+#X connect 1 0 3 0;
+#X connect 2 1 4 0;
+#X connect 2 2 5 0;
+#X connect 3 0 6 0;
+#X connect 4 0 3 1;
+#X connect 5 0 3 2;
+#X connect 7 0 9 0;
+#X connect 8 0 1 0;
+#X connect 9 0 0 0;
+#X connect 9 0 2 0;
+#X restore 1152 492 pd mass;
+#X obj 733 522 link2D link 30 1 1;
+#X obj 880 521 link2D link 30 1 1;
+#N canvas 170 431 369 381 link 0;
+#X obj 87 24 inlet;
+#X obj 162 24 inlet;
+#X obj 87 55 tLink2D link;
+#X obj 46 207 translateXYZ;
+#X obj 162 82 unpack s f f;
+#X obj 207 112 / 100;
+#X obj 253 112 / 100;
+#X obj 46 180 gemhead;
+#X obj 46 283 sphere 1;
+#X obj 46 233 rotateXYZ;
+#X obj 46 257 scaleXYZ 0 0.1 0.1;
+#X obj 87 84 / 200;
+#X obj 48 145 r \$1-on;
+#X connect 0 0 2 0;
+#X connect 1 0 2 1;
+#X connect 2 0 11 0;
+#X connect 2 2 9 3;
+#X connect 2 3 4 0;
+#X connect 3 0 9 0;
+#X connect 4 1 5 0;
+#X connect 4 2 6 0;
+#X connect 5 0 3 1;
+#X connect 6 0 3 2;
+#X connect 7 0 3 0;
+#X connect 9 0 10 0;
+#X connect 10 0 8 0;
+#X connect 11 0 10 1;
+#X connect 12 0 7 0;
+#X restore 207 418 pd link;
+#N canvas 170 431 363 375 link 0;
+#X obj 87 24 inlet;
+#X obj 162 24 inlet;
+#X obj 87 55 tLink2D link;
+#X obj 46 207 translateXYZ;
+#X obj 162 82 unpack s f f;
+#X obj 207 112 / 100;
+#X obj 253 112 / 100;
+#X obj 46 180 gemhead;
+#X obj 46 283 sphere 1;
+#X obj 46 233 rotateXYZ;
+#X obj 46 257 scaleXYZ 0 0.1 0.1;
+#X obj 87 84 / 200;
+#X obj 48 145 r \$1-on;
+#X connect 0 0 2 0;
+#X connect 1 0 2 1;
+#X connect 2 0 11 0;
+#X connect 2 2 9 3;
+#X connect 2 3 4 0;
+#X connect 3 0 9 0;
+#X connect 4 1 5 0;
+#X connect 4 2 6 0;
+#X connect 5 0 3 1;
+#X connect 6 0 3 2;
+#X connect 7 0 3 0;
+#X connect 9 0 10 0;
+#X connect 10 0 8 0;
+#X connect 11 0 10 1;
+#X connect 12 0 7 0;
+#X restore 359 426 pd link;
+#N canvas 170 431 367 379 link 0;
+#X obj 87 24 inlet;
+#X obj 162 24 inlet;
+#X obj 87 55 tLink2D link;
+#X obj 46 207 translateXYZ;
+#X obj 162 82 unpack s f f;
+#X obj 207 112 / 100;
+#X obj 253 112 / 100;
+#X obj 46 180 gemhead;
+#X obj 46 283 sphere 1;
+#X obj 46 233 rotateXYZ;
+#X obj 46 257 scaleXYZ 0 0.1 0.1;
+#X obj 87 84 / 200;
+#X obj 48 145 r \$1-on;
+#X connect 0 0 2 0;
+#X connect 1 0 2 1;
+#X connect 2 0 11 0;
+#X connect 2 2 9 3;
+#X connect 2 3 4 0;
+#X connect 3 0 9 0;
+#X connect 4 1 5 0;
+#X connect 4 2 6 0;
+#X connect 5 0 3 1;
+#X connect 6 0 3 2;
+#X connect 7 0 3 0;
+#X connect 9 0 10 0;
+#X connect 10 0 8 0;
+#X connect 11 0 10 1;
+#X connect 12 0 7 0;
+#X restore 508 429 pd link;
+#N canvas 170 431 363 375 link 0;
+#X obj 87 24 inlet;
+#X obj 162 24 inlet;
+#X obj 87 55 tLink2D link;
+#X obj 46 207 translateXYZ;
+#X obj 162 82 unpack s f f;
+#X obj 207 112 / 100;
+#X obj 253 112 / 100;
+#X obj 46 180 gemhead;
+#X obj 46 283 sphere 1;
+#X obj 46 233 rotateXYZ;
+#X obj 46 257 scaleXYZ 0 0.1 0.1;
+#X obj 87 84 / 200;
+#X obj 48 145 r \$1-on;
+#X connect 0 0 2 0;
+#X connect 1 0 2 1;
+#X connect 2 0 11 0;
+#X connect 2 2 9 3;
+#X connect 2 3 4 0;
+#X connect 3 0 9 0;
+#X connect 4 1 5 0;
+#X connect 4 2 6 0;
+#X connect 5 0 3 1;
+#X connect 6 0 3 2;
+#X connect 7 0 3 0;
+#X connect 9 0 10 0;
+#X connect 10 0 8 0;
+#X connect 11 0 10 1;
+#X connect 12 0 7 0;
+#X restore 665 429 pd link;
+#N canvas 170 431 377 389 link 0;
+#X obj 87 24 inlet;
+#X obj 162 24 inlet;
+#X obj 87 55 tLink2D link;
+#X obj 46 207 translateXYZ;
+#X obj 162 82 unpack s f f;
+#X obj 207 112 / 100;
+#X obj 253 112 / 100;
+#X obj 46 180 gemhead;
+#X obj 46 283 sphere 1;
+#X obj 46 233 rotateXYZ;
+#X obj 46 257 scaleXYZ 0 0.1 0.1;
+#X obj 87 84 / 200;
+#X obj 48 145 r \$1-on;
+#X connect 0 0 2 0;
+#X connect 1 0 2 1;
+#X connect 2 0 11 0;
+#X connect 2 2 9 3;
+#X connect 2 3 4 0;
+#X connect 3 0 9 0;
+#X connect 4 1 5 0;
+#X connect 4 2 6 0;
+#X connect 5 0 3 1;
+#X connect 6 0 3 2;
+#X connect 7 0 3 0;
+#X connect 9 0 10 0;
+#X connect 10 0 8 0;
+#X connect 11 0 10 1;
+#X connect 12 0 7 0;
+#X restore 65 418 pd link;
+#N canvas 170 431 363 375 link 0;
+#X obj 87 24 inlet;
+#X obj 162 24 inlet;
+#X obj 87 55 tLink2D link;
+#X obj 46 207 translateXYZ;
+#X obj 162 82 unpack s f f;
+#X obj 207 112 / 100;
+#X obj 253 112 / 100;
+#X obj 46 180 gemhead;
+#X obj 46 283 sphere 1;
+#X obj 46 233 rotateXYZ;
+#X obj 46 257 scaleXYZ 0 0.1 0.1;
+#X obj 87 84 / 200;
+#X obj 52 149 r \$1-on;
+#X connect 0 0 2 0;
+#X connect 1 0 2 1;
+#X connect 2 0 11 0;
+#X connect 2 2 9 3;
+#X connect 2 3 4 0;
+#X connect 3 0 9 0;
+#X connect 4 1 5 0;
+#X connect 4 2 6 0;
+#X connect 5 0 3 1;
+#X connect 6 0 3 2;
+#X connect 7 0 3 0;
+#X connect 9 0 10 0;
+#X connect 10 0 8 0;
+#X connect 11 0 10 1;
+#X connect 12 0 7 0;
+#X restore 791 423 pd link;
+#N canvas 170 431 363 375 link 0;
+#X obj 87 24 inlet;
+#X obj 162 24 inlet;
+#X obj 87 55 tLink2D link;
+#X obj 46 207 translateXYZ;
+#X obj 162 82 unpack s f f;
+#X obj 207 112 / 100;
+#X obj 253 112 / 100;
+#X obj 46 180 gemhead;
+#X obj 46 283 sphere 1;
+#X obj 46 233 rotateXYZ;
+#X obj 46 257 scaleXYZ 0 0.1 0.1;
+#X obj 87 84 / 200;
+#X obj 42 141 r \$1-on;
+#X connect 0 0 2 0;
+#X connect 1 0 2 1;
+#X connect 2 0 11 0;
+#X connect 2 2 9 3;
+#X connect 2 3 4 0;
+#X connect 3 0 9 0;
+#X connect 4 1 5 0;
+#X connect 4 2 6 0;
+#X connect 5 0 3 1;
+#X connect 6 0 3 2;
+#X connect 7 0 3 0;
+#X connect 9 0 10 0;
+#X connect 10 0 8 0;
+#X connect 11 0 10 1;
+#X connect 12 0 7 0;
+#X restore 926 429 pd link;
+#N canvas 170 431 363 375 link 0;
+#X obj 87 24 inlet;
+#X obj 162 24 inlet;
+#X obj 87 55 tLink2D link;
+#X obj 46 207 translateXYZ;
+#X obj 162 82 unpack s f f;
+#X obj 207 112 / 100;
+#X obj 253 112 / 100;
+#X obj 46 180 gemhead;
+#X obj 46 283 sphere 1;
+#X obj 46 233 rotateXYZ;
+#X obj 46 257 scaleXYZ 0 0.1 0.1;
+#X obj 87 84 / 200;
+#X obj 48 145 r \$1-on;
+#X connect 0 0 2 0;
+#X connect 1 0 2 1;
+#X connect 2 0 11 0;
+#X connect 2 2 9 3;
+#X connect 2 3 4 0;
+#X connect 3 0 9 0;
+#X connect 4 1 5 0;
+#X connect 4 2 6 0;
+#X connect 5 0 3 1;
+#X connect 6 0 3 2;
+#X connect 7 0 3 0;
+#X connect 9 0 10 0;
+#X connect 10 0 8 0;
+#X connect 11 0 10 1;
+#X connect 12 0 7 0;
+#X restore 33 592 pd link;
+#N canvas 170 431 367 379 link 0;
+#X obj 87 24 inlet;
+#X obj 162 24 inlet;
+#X obj 87 55 tLink2D link;
+#X obj 46 207 translateXYZ;
+#X obj 162 82 unpack s f f;
+#X obj 207 112 / 100;
+#X obj 253 112 / 100;
+#X obj 46 180 gemhead;
+#X obj 46 283 sphere 1;
+#X obj 46 233 rotateXYZ;
+#X obj 46 257 scaleXYZ 0 0.1 0.1;
+#X obj 87 84 / 200;
+#X obj 48 145 r \$1-on;
+#X connect 0 0 2 0;
+#X connect 1 0 2 1;
+#X connect 2 0 11 0;
+#X connect 2 2 9 3;
+#X connect 2 3 4 0;
+#X connect 3 0 9 0;
+#X connect 4 1 5 0;
+#X connect 4 2 6 0;
+#X connect 5 0 3 1;
+#X connect 6 0 3 2;
+#X connect 7 0 3 0;
+#X connect 9 0 10 0;
+#X connect 10 0 8 0;
+#X connect 11 0 10 1;
+#X connect 12 0 7 0;
+#X restore 204 594 pd link;
+#N canvas 170 431 363 375 link 0;
+#X obj 87 24 inlet;
+#X obj 162 24 inlet;
+#X obj 87 55 tLink2D link;
+#X obj 46 207 translateXYZ;
+#X obj 162 82 unpack s f f;
+#X obj 207 112 / 100;
+#X obj 253 112 / 100;
+#X obj 46 180 gemhead;
+#X obj 46 283 sphere 1;
+#X obj 46 233 rotateXYZ;
+#X obj 46 257 scaleXYZ 0 0.1 0.1;
+#X obj 87 84 / 200;
+#X obj 48 145 r \$1-on;
+#X connect 0 0 2 0;
+#X connect 1 0 2 1;
+#X connect 2 0 11 0;
+#X connect 2 2 9 3;
+#X connect 2 3 4 0;
+#X connect 3 0 9 0;
+#X connect 4 1 5 0;
+#X connect 4 2 6 0;
+#X connect 5 0 3 1;
+#X connect 6 0 3 2;
+#X connect 7 0 3 0;
+#X connect 9 0 10 0;
+#X connect 10 0 8 0;
+#X connect 11 0 10 1;
+#X connect 12 0 7 0;
+#X restore 357 594 pd link;
+#N canvas 170 431 363 375 link 0;
+#X obj 87 24 inlet;
+#X obj 162 24 inlet;
+#X obj 87 55 tLink2D link;
+#X obj 46 207 translateXYZ;
+#X obj 162 82 unpack s f f;
+#X obj 207 112 / 100;
+#X obj 253 112 / 100;
+#X obj 46 180 gemhead;
+#X obj 46 283 sphere 1;
+#X obj 46 233 rotateXYZ;
+#X obj 46 257 scaleXYZ 0 0.1 0.1;
+#X obj 87 84 / 200;
+#X obj 48 145 r \$1-on;
+#X connect 0 0 2 0;
+#X connect 1 0 2 1;
+#X connect 2 0 11 0;
+#X connect 2 2 9 3;
+#X connect 2 3 4 0;
+#X connect 3 0 9 0;
+#X connect 4 1 5 0;
+#X connect 4 2 6 0;
+#X connect 5 0 3 1;
+#X connect 6 0 3 2;
+#X connect 7 0 3 0;
+#X connect 9 0 10 0;
+#X connect 10 0 8 0;
+#X connect 11 0 10 1;
+#X connect 12 0 7 0;
+#X restore 494 596 pd link;
+#N canvas 170 431 363 375 link 0;
+#X obj 87 24 inlet;
+#X obj 162 24 inlet;
+#X obj 87 55 tLink2D link;
+#X obj 46 207 translateXYZ;
+#X obj 162 82 unpack s f f;
+#X obj 207 112 / 100;
+#X obj 253 112 / 100;
+#X obj 46 180 gemhead;
+#X obj 46 283 sphere 1;
+#X obj 46 233 rotateXYZ;
+#X obj 46 257 scaleXYZ 0 0.1 0.1;
+#X obj 87 84 / 200;
+#X obj 48 145 r \$1-on;
+#X connect 0 0 2 0;
+#X connect 1 0 2 1;
+#X connect 2 0 11 0;
+#X connect 2 2 9 3;
+#X connect 2 3 4 0;
+#X connect 3 0 9 0;
+#X connect 4 1 5 0;
+#X connect 4 2 6 0;
+#X connect 5 0 3 1;
+#X connect 6 0 3 2;
+#X connect 7 0 3 0;
+#X connect 9 0 10 0;
+#X connect 10 0 8 0;
+#X connect 11 0 10 1;
+#X connect 12 0 7 0;
+#X restore 656 597 pd link;
+#N canvas 170 431 363 375 link 0;
+#X obj 87 24 inlet;
+#X obj 162 24 inlet;
+#X obj 87 55 tLink2D link;
+#X obj 46 207 translateXYZ;
+#X obj 162 82 unpack s f f;
+#X obj 207 112 / 100;
+#X obj 253 112 / 100;
+#X obj 46 180 gemhead;
+#X obj 46 283 sphere 1;
+#X obj 46 233 rotateXYZ;
+#X obj 46 257 scaleXYZ 0 0.1 0.1;
+#X obj 87 84 / 200;
+#X obj 48 145 r \$1-on;
+#X connect 0 0 2 0;
+#X connect 1 0 2 1;
+#X connect 2 0 11 0;
+#X connect 2 2 9 3;
+#X connect 2 3 4 0;
+#X connect 3 0 9 0;
+#X connect 4 1 5 0;
+#X connect 4 2 6 0;
+#X connect 5 0 3 1;
+#X connect 6 0 3 2;
+#X connect 7 0 3 0;
+#X connect 9 0 10 0;
+#X connect 10 0 8 0;
+#X connect 11 0 10 1;
+#X connect 12 0 7 0;
+#X restore 793 599 pd link;
+#N canvas 170 431 363 375 link 0;
+#X obj 87 24 inlet;
+#X obj 162 24 inlet;
+#X obj 87 55 tLink2D link;
+#X obj 46 207 translateXYZ;
+#X obj 162 82 unpack s f f;
+#X obj 207 112 / 100;
+#X obj 253 112 / 100;
+#X obj 46 180 gemhead;
+#X obj 46 283 sphere 1;
+#X obj 46 233 rotateXYZ;
+#X obj 46 257 scaleXYZ 0 0.1 0.1;
+#X obj 87 84 / 200;
+#X obj 24 13 r \$1-on;
+#X connect 0 0 2 0;
+#X connect 1 0 2 1;
+#X connect 2 0 11 0;
+#X connect 2 2 9 3;
+#X connect 2 3 4 0;
+#X connect 3 0 9 0;
+#X connect 4 1 5 0;
+#X connect 4 2 6 0;
+#X connect 5 0 3 1;
+#X connect 6 0 3 2;
+#X connect 7 0 3 0;
+#X connect 9 0 10 0;
+#X connect 10 0 8 0;
+#X connect 11 0 10 1;
+#X connect 12 0 7 0;
+#X restore 900 600 pd link;
+#X obj 519 74 route 0 1 2 3 4 5 6 7;
+#X obj 159 135 -;
+#X obj 184 102 t f f;
+#X obj 295 135 -;
+#X obj 320 102 t f f;
+#X obj 435 135 -;
+#X obj 460 106 t f f;
+#X msg 159 243 force2D 0 \$1;
+#X msg 295 243 force2D 0 \$1;
+#X msg 435 242 force2D 0 \$1;
+#X obj 159 160 min 5;
+#X obj 159 187 max -5;
+#X obj 570 134 -;
+#X obj 595 105 t f f;
+#X msg 570 242 force2D 0 \$1;
+#X obj 295 160 min 5;
+#X obj 435 161 min 5;
+#X obj 570 159 min 5;
+#X obj 570 187 max -5;
+#X obj 435 188 max -5;
+#X obj 295 187 max -5;
+#X obj 721 185 / 30;
+#X obj 159 215 * 3;
+#X obj 295 216 * 3;
+#X obj 435 215 * 3;
+#X obj 570 215 * 3;
+#X obj 810 183 / 60;
+#X obj 889 182 / 60;
+#N canvas 306 123 307 288 mass 0;
+#X obj 24 23 inlet;
+#X obj 24 83 outlet;
+#X obj 83 138 gemhead;
+#X obj 84 85 unpack s f f;
+#X obj 83 169 translateXYZ 0 0 0;
+#X obj 129 111 / 100;
+#X obj 175 112 / 100;
+#X obj 83 197 sphere 0.1;
+#X obj 131 17 r \$1-on;
+#X obj 24 55 mass2D \$0-mass 10 260;
+#X connect 0 0 9 0;
+#X connect 2 0 4 0;
+#X connect 3 1 5 0;
+#X connect 3 2 6 0;
+#X connect 4 0 7 0;
+#X connect 5 0 4 1;
+#X connect 6 0 4 2;
+#X connect 8 0 2 0;
+#X connect 9 0 1 0;
+#X connect 9 0 3 0;
+#X restore 1007 565 pd mass;
+#X obj 1024 525 link2D link 30 1 1;
+#N canvas 170 431 363 375 link 0;
+#X obj 87 24 inlet;
+#X obj 162 24 inlet;
+#X obj 87 55 tLink2D link;
+#X obj 46 207 translateXYZ;
+#X obj 162 82 unpack s f f;
+#X obj 207 112 / 100;
+#X obj 253 112 / 100;
+#X obj 46 180 gemhead;
+#X obj 46 283 sphere 1;
+#X obj 46 233 rotateXYZ;
+#X obj 46 257 scaleXYZ 0 0.1 0.1;
+#X obj 87 84 / 200;
+#X obj 24 13 r \$1-on;
+#X connect 0 0 2 0;
+#X connect 1 0 2 1;
+#X connect 2 0 11 0;
+#X connect 2 2 9 3;
+#X connect 2 3 4 0;
+#X connect 3 0 9 0;
+#X connect 4 1 5 0;
+#X connect 4 2 6 0;
+#X connect 5 0 3 1;
+#X connect 6 0 3 2;
+#X connect 7 0 3 0;
+#X connect 9 0 10 0;
+#X connect 10 0 8 0;
+#X connect 11 0 10 1;
+#X connect 12 0 7 0;
+#X restore 1044 604 pd link;
+#X obj 519 43 inlet;
+#N canvas 0 0 738 484 init 0;
+#X obj 12 357 s link;
+#X msg 90 129 reset;
+#X msg 12 129 resetF;
+#X obj 12 156 s link;
+#X obj 90 156 s \$0-mass;
+#X obj 57 333 s \$0-mass;
+#X obj 26 67 s \$0-mass;
+#X msg 26 39 setXmin -350 \, setXmax 350 \, setYmin -350 \, setYmax
+350;
+#X obj 11 242 s \$0-mass;
+#X msg 11 214 setM 5;
+#X obj 12 102 t b b;
+#X obj 12 307 t b b;
+#X obj 12 12 loadbang;
+#X obj 12 280 gemhead;
+#X obj 11 186 loadbang;
+#X connect 1 0 4 0;
+#X connect 2 0 3 0;
+#X connect 7 0 6 0;
+#X connect 9 0 8 0;
+#X connect 10 0 2 0;
+#X connect 10 1 1 0;
+#X connect 11 0 0 0;
+#X connect 11 1 5 0;
+#X connect 12 0 7 0;
+#X connect 12 0 10 0;
+#X connect 13 0 11 0;
+#X connect 14 0 9 0;
+#X restore 29 25 pd init;
+#N canvas 0 0 1262 941 table_read 0;
+#X obj 67 42 r freqwf;
+#X obj 66 127 +~ 3;
+#X obj 73 194 tabread4~ cordewf1a;
+#X obj 265 197 tabread4~ cordewf1b;
+#X obj 471 202 tabread4~ cordewf2a;
+#X obj 676 202 tabread4~ cordewf2b;
+#X obj 360 454 r \$0-switch1;
+#X obj 147 638 *~;
+#X obj 360 600 line~;
+#X obj 336 632 *~;
+#X obj 173 605 line~;
+#X obj 609 450 r \$0-switch1;
+#X obj 545 640 *~;
+#X obj 781 614 line~;
+#X obj 751 634 *~;
+#X obj 574 619 line~;
+#X obj 360 479 sel 1 0;
+#X obj 608 475 sel 1 0;
+#X obj 67 102 *~ 15;
+#X obj 149 351 tabread4~ cordewf1a;
+#X obj 341 354 tabread4~ cordewf1b;
+#X obj 547 359 tabread4~ cordewf2a;
+#X obj 752 359 tabread4~ cordewf2b;
+#X obj 151 224 r freqwf;
+#X obj 150 310 +~ 3;
+#X obj 151 284 *~ 15;
+#X obj 67 73 phasor~ 200;
+#X obj 151 258 phasor~ 212;
+#X msg 173 550 0 10;
+#X msg 360 547 0 10;
+#X msg 574 566 0 10;
+#X msg 781 565 0 10;
+#X msg 190 578 0.001 10;
+#X msg 392 573 0.001 10;
+#X msg 595 592 0.001 10;
+#X msg 800 589 0.001 10;
+#X obj 635 682 outlet~;
+#X obj 207 685 outlet~;
+#X connect 0 0 26 0;
+#X connect 1 0 2 0;
+#X connect 1 0 3 0;
+#X connect 1 0 4 0;
+#X connect 1 0 5 0;
+#X connect 2 0 7 0;
+#X connect 3 0 9 0;
+#X connect 4 0 12 0;
+#X connect 5 0 14 0;
+#X connect 6 0 16 0;
+#X connect 7 0 37 0;
+#X connect 8 0 9 1;
+#X connect 9 0 37 0;
+#X connect 10 0 7 1;
+#X connect 11 0 17 0;
+#X connect 12 0 36 0;
+#X connect 13 0 14 1;
+#X connect 14 0 36 0;
+#X connect 15 0 12 1;
+#X connect 16 0 29 0;
+#X connect 16 0 32 0;
+#X connect 16 1 33 0;
+#X connect 16 1 28 0;
+#X connect 17 0 31 0;
+#X connect 17 0 34 0;
+#X connect 17 1 35 0;
+#X connect 17 1 30 0;
+#X connect 18 0 1 0;
+#X connect 19 0 7 0;
+#X connect 20 0 9 0;
+#X connect 21 0 12 0;
+#X connect 22 0 14 0;
+#X connect 23 0 27 0;
+#X connect 24 0 19 0;
+#X connect 24 0 20 0;
+#X connect 24 0 21 0;
+#X connect 24 0 22 0;
+#X connect 25 0 24 0;
+#X connect 26 0 18 0;
+#X connect 27 0 25 0;
+#X connect 28 0 10 0;
+#X connect 29 0 8 0;
+#X connect 30 0 15 0;
+#X connect 31 0 13 0;
+#X connect 32 0 10 0;
+#X connect 33 0 8 0;
+#X connect 34 0 15 0;
+#X connect 35 0 13 0;
+#X restore 86 725 pd table_read;
+#N canvas 466 99 1379 878 sound 0;
+#X msg 27 516 0;
+#X obj 27 424 r \$0-mass;
+#X obj 27 477 delay 0;
+#X obj 18 51 unpack s f f;
+#X obj 99 123 unpack s f f;
+#X obj 168 43 unpack s f f;
+#X obj 260 121 unpack s f f;
+#X obj 341 36 unpack s f f;
+#X obj 638 135 unpack s f f;
+#X obj 743 38 unpack s f f;
+#X obj 452 132 unpack s f f;
+#X obj 548 35 unpack s f f;
+#X obj 972 34 unpack s f f;
+#X obj 854 102 unpack s f f;
+#X obj 1060 100 unpack s f f;
+#X obj 1169 32 unpack s f f;
+#X obj 695 583 pack 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0;
+#X obj 21 17 inlet;
+#X obj 104 15 inlet;
+#X obj 168 14 inlet;
+#X obj 266 14 inlet;
+#X obj 346 8 inlet;
+#X obj 460 6 inlet;
+#X obj 548 4 inlet;
+#X obj 647 4 inlet;
+#X obj 742 5 inlet;
+#X obj 858 2 inlet;
+#X obj 985 5 inlet;
+#X obj 1070 -3 inlet;
+#X obj 1187 1 inlet;
+#X obj 27 450 t b;
+#X obj 27 578 pack 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0;
+#N canvas 0 0 196 289 1sur2 0;
+#X obj 19 20 inlet;
+#X obj 50 65 f;
+#X obj 50 87 + 1;
+#X obj 50 110 % 2;
+#X obj 19 238 outlet;
+#X obj 75 239 outlet;
+#X obj 75 216 spigot;
+#X obj 19 41 t a b;
+#X obj 50 171 * -1;
+#X obj 50 192 + 1;
+#X obj 19 215 spigot;
+#X obj 135 242 outlet;
+#X connect 0 0 7 0;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 3 0 1 1;
+#X connect 3 0 8 0;
+#X connect 3 0 6 1;
+#X connect 3 0 11 0;
+#X connect 6 0 5 0;
+#X connect 7 0 10 0;
+#X connect 7 0 6 0;
+#X connect 7 1 1 0;
+#X connect 8 0 9 0;
+#X connect 9 0 10 1;
+#X connect 10 0 4 0;
+#X restore 27 638 pd 1sur2;
+#N canvas 0 0 192 285 1sur2 0;
+#X obj 19 20 inlet;
+#X obj 50 65 f;
+#X obj 50 87 + 1;
+#X obj 50 110 % 2;
+#X obj 19 238 outlet;
+#X obj 75 239 outlet;
+#X obj 75 216 spigot;
+#X obj 19 41 t a b;
+#X obj 50 171 * -1;
+#X obj 50 192 + 1;
+#X obj 19 215 spigot;
+#X obj 135 242 outlet;
+#X connect 0 0 7 0;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 3 0 1 1;
+#X connect 3 0 8 0;
+#X connect 3 0 6 1;
+#X connect 3 0 11 0;
+#X connect 6 0 5 0;
+#X connect 7 0 10 0;
+#X connect 7 0 6 0;
+#X connect 7 1 1 0;
+#X connect 8 0 9 0;
+#X connect 9 0 10 1;
+#X connect 10 0 4 0;
+#X restore 695 636 pd 1sur2;
+#X obj 102 663 s \$0-switch2;
+#X obj 770 660 s \$0-switch1;
+#X obj 1278 35 unpack s f f;
+#X obj 1296 4 inlet;
+#X obj 62 84 + 260;
+#X obj 144 148 + 220;
+#X obj 213 73 + 180;
+#X obj 300 154 + 140;
+#X obj 378 73 + 100;
+#X obj 484 164 + 60;
+#X obj 593 61 + 20;
+#X obj 683 170 - 20;
+#X obj 776 76 - 60;
+#X obj 898 128 - 100;
+#X obj 1004 69 - 140;
+#X obj 1094 137 - 180;
+#X obj 1203 67 - 220;
+#X obj 1315 69 - 260;
+#X msg 732 690 \; cordewf1a 0 \$14 \$15 \$16 0 \$3 \$4 \$5 \$6 \$7
+\$8 \$9 \$10 \$11 \$12 \$13 \$14 \$15 \$16 0 \$3 \$4 \$5 \$6;
+#X msg 695 747 \; cordewf1b 0 \$14 \$15 \$16 0 \$3 \$4 \$5 \$6 \$7
+\$8 \$9 \$10 \$11 \$12 \$13 \$14 \$15 \$16 0 \$3 \$4 \$5 \$6;
+#X msg 64 686 \; cordewf2a 0 \$14 \$15 \$16 0 \$3 \$4 \$5 \$6 \$7 \$8
+\$9 \$10 \$11 \$12 \$13 \$14 \$15 \$16 0 \$3 \$4 \$5 \$6;
+#X msg 27 740 \; cordewf2b 0 \$14 \$15 \$16 0 \$3 \$4 \$5 \$6 \$7 \$8
+\$9 \$10 \$11 \$12 \$13 \$14 \$15 \$16 0 \$3 \$4 \$5 \$6;
+#X obj 18 287 table cordewf1a 23;
+#X obj 18 311 table cordewf2a 23;
+#X obj 18 335 table cordewf1b 23;
+#X obj 18 358 table cordewf2b 23;
+#X floatatom 1008 104 5 0 0 0 - - -;
+#X msg 695 612 0 0 \$3 \$4 \$5 \$6 \$7 \$8 \$9 \$10 \$11 \$12 \$13
+\$14 \$15 \$16;
+#X msg 27 614 0 0 \$3 \$4 \$5 \$6 \$7 \$8 \$9 \$10 \$11 \$12 \$13 \$14
+\$15 \$16;
+#X connect 0 0 31 0;
+#X connect 0 0 16 0;
+#X connect 1 0 30 0;
+#X connect 2 0 0 0;
+#X connect 3 1 38 0;
+#X connect 3 2 16 2;
+#X connect 4 1 39 0;
+#X connect 4 2 16 3;
+#X connect 5 1 40 0;
+#X connect 5 2 16 4;
+#X connect 6 1 41 0;
+#X connect 6 2 16 5;
+#X connect 7 1 42 0;
+#X connect 7 2 16 6;
+#X connect 8 1 45 0;
+#X connect 8 2 16 9;
+#X connect 9 1 46 0;
+#X connect 9 2 16 10;
+#X connect 10 1 43 0;
+#X connect 10 2 16 7;
+#X connect 11 1 44 0;
+#X connect 11 2 16 8;
+#X connect 12 1 48 0;
+#X connect 12 2 16 12;
+#X connect 13 1 47 0;
+#X connect 13 2 16 11;
+#X connect 14 1 49 0;
+#X connect 14 2 16 13;
+#X connect 15 1 50 0;
+#X connect 15 2 16 14;
+#X connect 16 0 61 0;
+#X connect 17 0 3 0;
+#X connect 18 0 4 0;
+#X connect 19 0 5 0;
+#X connect 20 0 6 0;
+#X connect 21 0 7 0;
+#X connect 22 0 10 0;
+#X connect 23 0 11 0;
+#X connect 24 0 8 0;
+#X connect 25 0 9 0;
+#X connect 26 0 13 0;
+#X connect 27 0 12 0;
+#X connect 28 0 14 0;
+#X connect 29 0 15 0;
+#X connect 30 0 2 0;
+#X connect 31 0 62 0;
+#X connect 32 0 55 0;
+#X connect 32 1 54 0;
+#X connect 32 2 34 0;
+#X connect 33 0 53 0;
+#X connect 33 1 52 0;
+#X connect 33 2 35 0;
+#X connect 36 1 51 0;
+#X connect 36 2 16 15;
+#X connect 37 0 36 0;
+#X connect 38 0 31 2;
+#X connect 39 0 31 3;
+#X connect 40 0 31 4;
+#X connect 41 0 31 5;
+#X connect 42 0 31 6;
+#X connect 43 0 31 7;
+#X connect 44 0 31 8;
+#X connect 45 0 31 9;
+#X connect 46 0 31 10;
+#X connect 47 0 31 11;
+#X connect 48 0 31 12;
+#X connect 48 0 60 0;
+#X connect 49 0 31 13;
+#X connect 50 0 31 14;
+#X connect 51 0 31 15;
+#X connect 61 0 33 0;
+#X connect 62 0 32 0;
+#X restore 241 632 pd sound ------------------------------------------------
+;
+#X obj 209 788 outlet~;
+#X obj 210 756 hip~ 20;
+#X obj 84 789 outlet~;
+#X obj 85 757 hip~ 20;
+#X connect 0 0 8 1;
+#X connect 0 0 9 0;
+#X connect 0 0 34 0;
+#X connect 0 0 38 1;
+#X connect 0 0 82 0;
+#X connect 1 0 2 0;
+#X connect 3 0 69 0;
+#X connect 4 0 2 0;
+#X connect 5 0 2 0;
+#X connect 6 0 8 0;
+#X connect 6 0 38 0;
+#X connect 7 0 9 1;
+#X connect 7 0 12 0;
+#X connect 7 0 34 1;
+#X connect 7 0 35 0;
+#X connect 7 0 82 1;
+#X connect 8 1 0 0;
+#X connect 9 0 0 0;
+#X connect 9 1 7 0;
+#X connect 10 0 12 1;
+#X connect 10 0 13 0;
+#X connect 10 0 36 0;
+#X connect 10 0 35 1;
+#X connect 10 0 82 2;
+#X connect 11 0 13 1;
+#X connect 11 0 15 0;
+#X connect 11 0 37 0;
+#X connect 11 0 36 1;
+#X connect 11 0 82 3;
+#X connect 12 0 7 0;
+#X connect 12 1 10 0;
+#X connect 13 0 10 0;
+#X connect 13 1 11 0;
+#X connect 14 0 15 1;
+#X connect 14 0 18 0;
+#X connect 14 0 37 1;
+#X connect 14 0 39 0;
+#X connect 14 0 82 4;
+#X connect 15 0 11 0;
+#X connect 15 1 14 0;
+#X connect 16 0 18 1;
+#X connect 16 0 19 0;
+#X connect 16 0 39 1;
+#X connect 16 0 40 0;
+#X connect 16 0 82 5;
+#X connect 17 0 19 1;
+#X connect 17 0 22 0;
+#X connect 17 0 40 1;
+#X connect 17 0 41 0;
+#X connect 17 0 82 6;
+#X connect 18 0 14 0;
+#X connect 18 1 16 0;
+#X connect 19 0 16 0;
+#X connect 19 1 17 0;
+#X connect 20 0 22 1;
+#X connect 20 0 23 0;
+#X connect 20 0 41 1;
+#X connect 20 0 42 0;
+#X connect 20 0 82 7;
+#X connect 21 0 23 1;
+#X connect 21 0 26 0;
+#X connect 21 0 42 1;
+#X connect 21 0 43 0;
+#X connect 21 0 82 8;
+#X connect 22 0 17 0;
+#X connect 22 1 20 0;
+#X connect 23 0 20 0;
+#X connect 23 1 21 0;
+#X connect 24 0 26 1;
+#X connect 24 0 27 0;
+#X connect 24 0 43 1;
+#X connect 24 0 44 0;
+#X connect 24 0 82 9;
+#X connect 25 0 27 1;
+#X connect 25 0 29 0;
+#X connect 25 0 44 1;
+#X connect 25 0 45 0;
+#X connect 25 0 82 10;
+#X connect 26 0 21 0;
+#X connect 26 1 24 0;
+#X connect 27 0 24 0;
+#X connect 27 1 25 0;
+#X connect 28 0 29 1;
+#X connect 28 0 32 0;
+#X connect 28 0 45 1;
+#X connect 28 0 46 0;
+#X connect 28 0 82 11;
+#X connect 29 0 25 0;
+#X connect 29 1 28 0;
+#X connect 30 0 32 1;
+#X connect 30 0 33 0;
+#X connect 30 0 46 1;
+#X connect 30 0 47 0;
+#X connect 30 0 82 12;
+#X connect 31 0 78 1;
+#X connect 31 0 77 1;
+#X connect 32 0 28 0;
+#X connect 32 1 30 0;
+#X connect 33 0 30 0;
+#X connect 33 1 76 0;
+#X connect 48 0 50 0;
+#X connect 48 1 52 0;
+#X connect 48 2 54 0;
+#X connect 48 3 61 0;
+#X connect 48 4 3 0;
+#X connect 48 5 74 0;
+#X connect 48 6 75 0;
+#X connect 49 0 58 0;
+#X connect 50 0 49 1;
+#X connect 50 1 49 0;
+#X connect 51 0 63 0;
+#X connect 52 0 51 1;
+#X connect 52 1 51 0;
+#X connect 53 0 64 0;
+#X connect 54 0 53 1;
+#X connect 54 1 53 0;
+#X connect 55 0 10 0;
+#X connect 56 0 16 0;
+#X connect 57 0 21 0;
+#X connect 58 0 59 0;
+#X connect 59 0 70 0;
+#X connect 60 0 65 0;
+#X connect 61 0 60 1;
+#X connect 61 1 60 0;
+#X connect 62 0 28 0;
+#X connect 63 0 68 0;
+#X connect 64 0 67 0;
+#X connect 65 0 66 0;
+#X connect 66 0 73 0;
+#X connect 67 0 72 0;
+#X connect 68 0 71 0;
+#X connect 69 0 1 0;
+#X connect 70 0 55 0;
+#X connect 71 0 56 0;
+#X connect 72 0 57 0;
+#X connect 73 0 62 0;
+#X connect 74 0 4 0;
+#X connect 75 0 5 0;
+#X connect 76 0 77 0;
+#X connect 76 0 78 0;
+#X connect 76 0 33 1;
+#X connect 76 0 47 1;
+#X connect 76 0 82 13;
+#X connect 77 0 76 0;
+#X connect 79 0 48 0;
+#X connect 81 0 86 0;
+#X connect 81 1 84 0;
+#X connect 84 0 83 0;
+#X connect 86 0 85 0;
+#X restore 244 375 pd corde;
+#X obj 36 185 vsl 15 128 0 127 0 0 empty empty empty 0 -8 0 8 -262144
+-1 -1 0 1;
+#X obj 89 186 vsl 15 128 0 127 0 0 empty empty empty 0 -8 0 8 -262144
+-1 -1 0 1;
+#X obj 140 185 vsl 15 128 0 127 0 0 empty empty empty 0 -8 0 8 -262144
+-1 -1 0 1;
+#X obj 189 186 vsl 15 128 0 127 0 0 empty empty empty 0 -8 0 8 -262144
+-1 -1 0 1;
+#X obj 244 185 vsl 15 128 0 127 0 0 empty empty empty 0 -8 0 8 -262144
+-1 -1 0 1;
+#X obj 299 187 vsl 15 128 0 127 0 0 empty empty empty 0 -8 0 8 -262144
+-1 -1 0 1;
+#X obj 352 190 vsl 15 128 0 127 0 0 empty empty empty 0 -8 0 8 -262144
+-1 -1 0 1;
+#X msg 36 340 0 \$1;
+#X msg 89 340 1 \$1;
+#X msg 140 340 2 \$1;
+#X msg 189 340 3 \$1;
+#X msg 244 340 4 \$1;
+#X msg 299 340 5 \$1;
+#X msg 352 339 6 \$1;
+#X text 24 144 force;
+#X text 78 157 force;
+#X text 124 147 force;
+#X text 171 164 force;
+#X text 250 158 K;
+#X text 302 157 D;
+#X text 351 158 D2;
+#X obj 183 56 gemhead;
+#X obj 183 82 world_light;
+#X msg 36 26 lighting 1 \, create \, 1;
+#X msg 62 52 0 \, destroy;
+#X obj 36 78 gemwin 40;
+#X text 379 158 (damping);
+#X obj 245 405 dac~;
+#X connect 0 0 28 0;
+#X connect 0 1 28 1;
+#X connect 1 0 8 0;
+#X connect 2 0 9 0;
+#X connect 3 0 10 0;
+#X connect 4 0 11 0;
+#X connect 5 0 12 0;
+#X connect 6 0 13 0;
+#X connect 7 0 14 0;
+#X connect 8 0 0 0;
+#X connect 9 0 0 0;
+#X connect 10 0 0 0;
+#X connect 11 0 0 0;
+#X connect 12 0 0 0;
+#X connect 13 0 0 0;
+#X connect 14 0 0 0;
+#X connect 22 0 23 0;
+#X connect 24 0 26 0;
+#X connect 25 0 26 0;
diff --git a/examples/48_pmpd.pd b/examples/48_pmpd.pd
new file mode 100644
index 0000000..385fee1
--- /dev/null
+++ b/examples/48_pmpd.pd
@@ -0,0 +1,93 @@
+#N canvas 74 5 581 757 10;
+#X msg 209 152 mass 2 10 \$1;
+#X msg 223 105 mass -1 10 60;
+#X msg 195 175 mass -1 10 60;
+#X msg 209 128 2 \, 3 \, 4 \, 5 \, 6 \, 7 \, 8 \, 9 \, 10;
+#X msg 181 200 0 1 \, 1 2 \, 2 3 \, 3 4 \, 4 5 \, 5 6 \, 6 7 \, 7 8
+\, 8 9 \, 9 10 \, 10 11;
+#X obj 301 325 vsl 15 128 0 127 0 0 empty empty empty 0 -8 0 8 -262144
+-1 -1 4600 1;
+#X obj 337 325 vsl 15 128 0 127 0 0 empty empty empty 0 -8 0 8 -262144
+-1 -1 7800 1;
+#X msg 301 467 posX 1 \$1;
+#X msg 337 496 posX 11 \$1;
+#X obj 52 615 vsl 15 128 0 127 0 0 empty empty empty 0 -8 0 8 -262144
+-1 -1 4600 1;
+#X obj 76 615 vsl 15 128 0 127 0 0 empty empty empty 0 -8 0 8 -262144
+-1 -1 4920 1;
+#X obj 101 615 vsl 15 128 0 127 0 0 empty empty empty 0 -8 0 8 -262144
+-1 -1 5240 1;
+#X obj 126 615 vsl 15 128 0 127 0 0 empty empty empty 0 -8 0 8 -262144
+-1 -1 5560 1;
+#X obj 150 615 vsl 15 128 0 127 0 0 empty empty empty 0 -8 0 8 -262144
+-1 -1 5880 1;
+#X obj 175 615 vsl 15 128 0 127 0 0 empty empty empty 0 -8 0 8 -262144
+-1 -1 6200 1;
+#X obj 200 615 vsl 15 128 0 127 0 0 empty empty empty 0 -8 0 8 -262144
+-1 -1 6520 1;
+#X obj 224 615 vsl 15 128 0 127 0 0 empty empty empty 0 -8 0 8 -262144
+-1 -1 6840 1;
+#X obj 249 615 vsl 15 128 0 127 0 0 empty empty empty 0 -8 0 8 -262144
+-1 -1 7160 1;
+#X obj 274 615 vsl 15 128 0 127 0 0 empty empty empty 0 -8 0 8 -262144
+-1 -1 7480 1;
+#X obj 238 357 t a;
+#X obj 52 260 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1
+;
+#X obj 153 36 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 299 615 vsl 15 128 0 127 0 0 empty empty empty 0 -8 0 8 -262144
+-1 -1 7800 1;
+#X msg 371 521 forceX 5 100;
+#X obj 52 289 metro 20;
+#X msg 181 222 link 1 \$1 \$2 1 0.5;
+#X msg 238 84 reset;
+#X obj 153 58 t b b b b b b b;
+#X msg 153 268 0 1 \, 1 2 \, 2 3 \, 3 4 \, 4 5 \, 5 6 \, 6 7 \, 7 8
+\, 8 9 \, 9 10 \, 10 11;
+#X msg 153 290 out 1 \$1 \$2 1;
+#X text 257 290 id \, input \, mass \, imfluuence;
+#X obj 52 15 loadbang;
+#X msg 299 556 forceX 122;
+#X msg 167 244 in 1 0 3 1;
+#X obj 52 583 pmpd 1 11 --------------------------------;
+#X connect 0 0 19 0;
+#X connect 1 0 19 0;
+#X connect 2 0 19 0;
+#X connect 3 0 0 0;
+#X connect 4 0 25 0;
+#X connect 5 0 7 0;
+#X connect 6 0 8 0;
+#X connect 7 0 34 0;
+#X connect 8 0 34 0;
+#X connect 19 0 34 0;
+#X connect 20 0 24 0;
+#X connect 21 0 27 0;
+#X connect 23 0 34 0;
+#X connect 24 0 34 0;
+#X connect 25 0 19 0;
+#X connect 26 0 19 0;
+#X connect 27 0 28 0;
+#X connect 27 1 33 0;
+#X connect 27 2 4 0;
+#X connect 27 3 2 0;
+#X connect 27 4 3 0;
+#X connect 27 5 1 0;
+#X connect 27 6 26 0;
+#X connect 28 0 29 0;
+#X connect 29 0 19 0;
+#X connect 31 0 27 0;
+#X connect 31 0 20 0;
+#X connect 32 0 34 1;
+#X connect 33 0 19 0;
+#X connect 34 0 9 0;
+#X connect 34 1 10 0;
+#X connect 34 2 11 0;
+#X connect 34 3 12 0;
+#X connect 34 4 13 0;
+#X connect 34 5 14 0;
+#X connect 34 6 15 0;
+#X connect 34 7 16 0;
+#X connect 34 8 17 0;
+#X connect 34 9 18 0;
+#X connect 34 10 22 0;
diff --git a/examples/49_pmpd~.pd b/examples/49_pmpd~.pd
new file mode 100644
index 0000000..1628928
--- /dev/null
+++ b/examples/49_pmpd~.pd
@@ -0,0 +1,140 @@
+#N canvas 39 25 842 667 10;
+#X obj 39 413 t a;
+#X obj 134 11 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 52 647 tabwrite~ array99;
+#X obj 424 497 metro 100;
+#X obj 424 471 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 190 647 tabwrite~ array98;
+#N canvas 0 0 454 304 (subpatch) 0;
+#X array array97 100 float 0;
+#X coords 0 1 100 -1 150 100 1;
+#X restore 662 269 graph;
+#X msg 15 54 \; pd dsp 1 \;;
+#X obj 15 29 loadbang;
+#X obj 450 474 loadbang;
+#X msg 299 402 forceX 2 1;
+#X obj 197 498 phasor~ 1;
+#X floatatom 77 479 5 0 0 0 - - -;
+#X floatatom 197 477 5 0 0 0 - - -;
+#X floatatom 320 478 5 0 0 0 - - -;
+#N canvas 0 0 454 304 (subpatch) 0;
+#X array array98 100 float 0;
+#X coords 0 1 100 -1 150 100 1;
+#X restore 662 165 graph;
+#X obj 325 647 tabwrite~ array97;
+#X obj 88 521 tabwrite~ array9;
+#X obj 208 522 tabwrite~ array8;
+#X obj 332 523 tabwrite~ array7;
+#N canvas 0 0 450 300 (subpatch) 0;
+#X array array9 100 float 0;
+#X coords 0 1 100 -1 150 100 1;
+#X restore 507 61 graph;
+#N canvas 0 0 454 304 (subpatch) 0;
+#X array array7 100 float 0;
+#X coords 0 1 100 -1 150 100 1;
+#X restore 507 269 graph;
+#N canvas 0 0 454 304 (subpatch) 0;
+#X array array8 100 float 0;
+#X coords 0 1 100 -1 150 100 1;
+#X restore 507 165 graph;
+#X obj 38 734 dac~;
+#N canvas 0 0 450 300 (subpatch) 0;
+#X array array99 100 float 0;
+#X coords 0 1 100 -1 150 100 1;
+#X restore 662 61 graph;
+#X obj 320 499 phasor~ 1.5;
+#X obj 134 37 t b b b b b;
+#X obj 325 623 metro 100;
+#X obj 325 597 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 351 600 loadbang;
+#X text 159 10 <- create the network;
+#X obj 39 709 *~ 0.5;
+#X msg 181 256 link 0 2 0.5 0.001;
+#X msg 182 277 link 0 3 0.3 0.001;
+#X msg 202 324 mass 10 1;
+#X msg 203 350 mass 10 1;
+#X text 295 325 M \, X0;
+#X text 312 256 mass1 \, mass2 \, K \, D;
+#X text 281 168 outlet \, mass \, amplitude;
+#X text 248 89 inlet \, mass \, amplitude;
+#X msg 201 299 mass 10 1;
+#X msg 221 378 reset \, mass 0 0;
+#X msg 179 191 outPos 2 3 1;
+#X msg 133 91 inForce 1 2 1;
+#X obj 40 679 hip~ 20;
+#X msg 134 116 inForce 2 3 1;
+#X msg 162 171 outPos 1 2 1;
+#X msg 133 68 inForce 0 1 1;
+#X obj 77 498 phasor~ 1.33333;
+#X msg 155 149 outPos 0 1 3;
+#X text 212 236 mass1 \, mass2 \, K \, D \, Pow \, L0 \, Lmin \, Lmax
+;
+#X msg 176 218 NLlink 0 1 0.1 0.001 1.1 0 -10 10;
+#X obj 77 543 /~ 250;
+#X obj 197 544 /~ 10;
+#X obj 319 554 /~ 30;
+#X obj 39 583 pmpd~ 3 3;
+#X connect 0 0 55 0;
+#X connect 1 0 26 0;
+#X connect 3 0 17 0;
+#X connect 3 0 18 0;
+#X connect 3 0 19 0;
+#X connect 4 0 3 0;
+#X connect 8 0 7 0;
+#X connect 9 0 3 0;
+#X connect 10 0 0 0;
+#X connect 11 0 18 0;
+#X connect 11 0 53 0;
+#X connect 12 0 48 0;
+#X connect 13 0 11 0;
+#X connect 14 0 25 0;
+#X connect 25 0 19 0;
+#X connect 25 0 54 0;
+#X connect 26 0 47 0;
+#X connect 26 0 43 0;
+#X connect 26 0 45 0;
+#X connect 26 1 49 0;
+#X connect 26 1 46 0;
+#X connect 26 1 42 0;
+#X connect 26 2 32 0;
+#X connect 26 2 33 0;
+#X connect 26 2 51 0;
+#X connect 26 3 40 0;
+#X connect 26 3 34 0;
+#X connect 26 3 35 0;
+#X connect 26 4 41 0;
+#X connect 27 0 2 0;
+#X connect 27 0 5 0;
+#X connect 27 0 16 0;
+#X connect 28 0 27 0;
+#X connect 29 0 27 0;
+#X connect 31 0 23 0;
+#X connect 31 0 23 1;
+#X connect 32 0 0 0;
+#X connect 33 0 0 0;
+#X connect 34 0 0 0;
+#X connect 35 0 0 0;
+#X connect 40 0 0 0;
+#X connect 41 0 0 0;
+#X connect 42 0 0 0;
+#X connect 43 0 0 0;
+#X connect 44 0 31 0;
+#X connect 45 0 0 0;
+#X connect 46 0 0 0;
+#X connect 47 0 0 0;
+#X connect 48 0 17 0;
+#X connect 48 0 52 0;
+#X connect 49 0 0 0;
+#X connect 51 0 0 0;
+#X connect 52 0 55 0;
+#X connect 53 0 55 1;
+#X connect 54 0 55 2;
+#X connect 55 0 2 0;
+#X connect 55 0 44 0;
+#X connect 55 1 5 0;
+#X connect 55 1 44 0;
+#X connect 55 2 16 0;
+#X connect 55 2 44 0;
diff --git a/examples/50-simple_oscilator~.pd b/examples/50-simple_oscilator~.pd
new file mode 100644
index 0000000..6abe3d9
--- /dev/null
+++ b/examples/50-simple_oscilator~.pd
@@ -0,0 +1,212 @@
+#N canvas 249 92 539 463 10;
+#X obj 118 40 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X obj 168 422 dac~;
+#X obj 334 243 tabplay~ dirac;
+#X obj 391 42 loadbang;
+#X obj 168 314 pmpd~ 3 1;
+#X obj 256 243 phasor~ 2;
+#X obj 130 278 r pm;
+#X floatatom 168 206 5 0 0 0 - - -;
+#X obj 168 224 mtof;
+#X obj 168 243 phasor~ 123;
+#X obj 168 363 hip~ 22;
+#X obj 118 60 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X obj 118 100 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X obj 168 338 *~ 0.5;
+#X obj 118 120 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X obj 118 80 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X obj 168 387 clip~ -1 1;
+#X obj 118 140 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X obj 334 205 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
+1;
+#X obj 334 223 metro 500;
+#X obj 334 185 loadbang;
+#X obj 391 117 table dirac 2;
+#N canvas 766 197 459 463 double_non_linear_oscilator 0;
+#X obj 35 29 inlet;
+#X obj 35 55 t b b b b b;
+#X msg 109 77 reset;
+#X obj 35 316 s pm;
+#X obj 87 27 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X msg 53 187 inForce 0 1 0;
+#X msg 35 210 outPos 0 2 1;
+#X msg 90 99 mass 0 0 \, mass 1 0 \, mass 1 1;
+#X msg 72 129 NLlink 0 1 0.0003 0 2 0 -100 100;
+#X msg 59 153 NLlink 1 2 0.0003 0 0.5 0.1 -100 100;
+#X connect 0 0 1 0;
+#X connect 1 0 6 0;
+#X connect 1 1 5 0;
+#X connect 1 2 8 0;
+#X connect 1 2 9 0;
+#X connect 1 3 7 0;
+#X connect 1 4 2 0;
+#X connect 2 0 3 0;
+#X connect 4 0 1 0;
+#X connect 5 0 3 0;
+#X connect 6 0 3 0;
+#X connect 7 0 3 0;
+#X connect 8 0 3 0;
+#X connect 9 0 3 0;
+#X restore 137 100 pd double_non_linear_oscilator _;
+#N canvas 76 106 491 563 very_non_linear_oscilator 0;
+#X obj 35 29 inlet;
+#X obj 38 54 t b b b b b;
+#X msg 109 77 reset;
+#X obj 35 456 s pm;
+#X msg 90 99 mass 0 0 \, mass 1 0;
+#X obj 87 27 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X msg 52 370 inForce 2 1 0.01;
+#X msg 114 153 NLlink 0 1 0.001 0.001 1 0 1 100;
+#X msg 74 124 NLlink 0 1 0.1 0 0.1 0 -0.01 0.01;
+#X msg 134 186 NLlink 0 1 0.0001 0.001 1 0 -100 -1;
+#X msg 35 400 outPos 0 1 0.1;
+#X connect 0 0 1 0;
+#X connect 1 0 10 0;
+#X connect 1 1 6 0;
+#X connect 1 2 8 0;
+#X connect 1 2 7 0;
+#X connect 1 2 9 0;
+#X connect 1 3 4 0;
+#X connect 1 4 2 0;
+#X connect 2 0 3 0;
+#X connect 4 0 3 0;
+#X connect 5 0 1 0;
+#X connect 6 0 3 0;
+#X connect 7 0 3 0;
+#X connect 8 0 3 0;
+#X connect 9 0 3 0;
+#X connect 10 0 3 0;
+#X restore 137 120 pd very_non_linear_oscilator ___;
+#N canvas 76 106 491 563 very_non_linear_oscilator2 0;
+#X obj 35 29 inlet;
+#X obj 38 54 t b b b b b;
+#X msg 109 77 reset;
+#X obj 35 456 s pm;
+#X msg 90 99 mass 0 0 \, mass 1 0;
+#X obj 87 27 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X msg 52 370 inForce 2 1 0.01;
+#X msg 35 400 outPos 0 1 1;
+#X msg 74 124 NLlink 0 1 -0.001 0 1 0 -0.5 0.5;
+#X msg 113 152 NLlink 0 1 0.01 0.0001 1 0 0.5 100;
+#X msg 135 186 NLlink 0 1 0.01 0.001 1 0 -100 -0.5;
+#X connect 0 0 1 0;
+#X connect 1 0 7 0;
+#X connect 1 1 6 0;
+#X connect 1 2 8 0;
+#X connect 1 2 9 0;
+#X connect 1 2 10 0;
+#X connect 1 3 4 0;
+#X connect 1 4 2 0;
+#X connect 2 0 3 0;
+#X connect 4 0 3 0;
+#X connect 5 0 1 0;
+#X connect 6 0 3 0;
+#X connect 7 0 3 0;
+#X connect 8 0 3 0;
+#X connect 9 0 3 0;
+#X connect 10 0 3 0;
+#X restore 137 140 pd very_non_linear_oscilator2 __;
+#N canvas 0 254 491 438 bass 0;
+#X obj 35 29 inlet;
+#X obj 35 55 t b b b b b;
+#X msg 109 77 reset;
+#X obj 35 236 s pm;
+#X msg 90 99 mass 0 0 \, mass 1 0;
+#X obj 87 27 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X msg 35 180 outPos 0 1 1;
+#X msg 53 157 inForce 2 1 0.05;
+#X msg 73 125 NLlink 0 1 0.001 0.0012 4 0 -100 100;
+#X connect 0 0 1 0;
+#X connect 1 0 6 0;
+#X connect 1 1 7 0;
+#X connect 1 2 8 0;
+#X connect 1 3 4 0;
+#X connect 1 4 2 0;
+#X connect 2 0 3 0;
+#X connect 4 0 3 0;
+#X connect 5 0 1 0;
+#X connect 6 0 3 0;
+#X connect 7 0 3 0;
+#X connect 8 0 3 0;
+#X restore 137 80 pd bass ________________________;
+#N canvas 42 355 316 300 damped_oscilator 0;
+#X obj 35 29 inlet;
+#X obj 35 55 t b b b b b;
+#X msg 109 77 reset;
+#X obj 35 266 s pm;
+#X msg 90 99 mass 0 0 \, mass 1 0;
+#X obj 87 27 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X msg 53 147 inPos 1 0 1;
+#X msg 70 125 link 0 1 0.001 0.001;
+#X msg 35 170 outPos 0 1 0.5;
+#X connect 0 0 1 0;
+#X connect 1 0 8 0;
+#X connect 1 1 6 0;
+#X connect 1 2 7 0;
+#X connect 1 3 4 0;
+#X connect 1 4 2 0;
+#X connect 2 0 3 0;
+#X connect 4 0 3 0;
+#X connect 5 0 1 0;
+#X connect 6 0 3 0;
+#X connect 7 0 3 0;
+#X connect 8 0 3 0;
+#X restore 137 60 pd damped_oscilator ____________;
+#N canvas 42 355 316 300 phasor_filtered 0;
+#X obj 35 29 inlet;
+#X obj 35 55 t b b b b b;
+#X msg 109 77 reset;
+#X obj 35 266 s pm;
+#X msg 90 99 mass 0 0 \, mass 1 0;
+#X obj 87 27 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X msg 53 147 inPos 0 0 1;
+#X msg 35 170 outPos 0 1 1;
+#X msg 72 125 link 0 1 0.005 0.02;
+#X connect 0 0 1 0;
+#X connect 1 0 7 0;
+#X connect 1 1 6 0;
+#X connect 1 2 8 0;
+#X connect 1 3 4 0;
+#X connect 1 4 2 0;
+#X connect 2 0 3 0;
+#X connect 4 0 3 0;
+#X connect 5 0 1 0;
+#X connect 6 0 3 0;
+#X connect 7 0 3 0;
+#X connect 8 0 3 0;
+#X restore 137 40 pd phasor_filtered _____________;
+#X text 31 41 to test ->;
+#X msg 391 64 \; dirac 0 1 \; pd dsp 1;
+#X connect 0 0 27 0;
+#X connect 2 0 4 2;
+#X connect 3 0 29 0;
+#X connect 4 0 13 0;
+#X connect 5 0 4 1;
+#X connect 6 0 4 0;
+#X connect 7 0 8 0;
+#X connect 8 0 9 0;
+#X connect 9 0 4 0;
+#X connect 10 0 16 0;
+#X connect 11 0 26 0;
+#X connect 12 0 22 0;
+#X connect 13 0 10 0;
+#X connect 14 0 23 0;
+#X connect 15 0 25 0;
+#X connect 16 0 1 0;
+#X connect 16 0 1 1;
+#X connect 17 0 24 0;
+#X connect 18 0 19 0;
+#X connect 19 0 2 0;
+#X connect 20 0 18 0;
diff --git a/examples/51_string~.pd b/examples/51_string~.pd
new file mode 100644
index 0000000..804c7bc
--- /dev/null
+++ b/examples/51_string~.pd
@@ -0,0 +1,138 @@
+#N canvas 423 238 487 445 10;
+#X floatatom 32 12 0 0 0 0 - - -;
+#N canvas 0 0 454 304 cpu 0;
+#X obj 61 159 cputime;
+#X obj 61 19 loadbang;
+#X obj 61 103 metro 1000;
+#X msg 61 47 1;
+#X floatatom 61 75 0 0 0 0 - - -;
+#X obj 61 131 t b b;
+#X obj 61 219 * 0.1;
+#X obj 61 188 int;
+#X text 106 75 <-- on/off;
+#X obj 61 246 outlet;
+#X connect 0 0 7 0;
+#X connect 1 0 3 0;
+#X connect 2 0 5 0;
+#X connect 3 0 4 0;
+#X connect 4 0 2 0;
+#X connect 5 0 0 0;
+#X connect 5 1 0 1;
+#X connect 6 0 9 0;
+#X connect 7 0 6 0;
+#X restore 32 -14 pd cpu;
+#X obj 89 219 tabwrite~ array99;
+#X msg 80 14 \; pd dsp 1 \;;
+#X obj 80 -14 loadbang;
+#X obj 26 221 dac~;
+#X obj 27 171 hip~ 20;
+#N canvas 0 0 450 300 (subpatch) 0;
+#X array array99 3000 float 0;
+#X coords 0 1 2999 -1 150 100 1;
+#X restore 49 257 graph;
+#N canvas 0 0 531 530 corde 0;
+#X obj 86 32 t b b b b;
+#X msg 143 71 reset;
+#X obj 92 4 inlet;
+#X obj 141 409 outlet;
+#X obj 72 270 pack f f;
+#X obj 83 200 t f f;
+#X obj 108 223 + 1;
+#X text 254 75 number of masss on the string;
+#X obj 144 220 + 1;
+#X obj 104 112 + 1;
+#N canvas 0 0 454 304 uzi 0;
+#X obj 70 50 inlet;
+#X obj 70 154 f;
+#X obj 95 129 + 1;
+#X msg 67 103 0;
+#X obj 71 199 moses;
+#X obj 69 74 t b f;
+#X obj 71 232 outlet;
+#X connect 0 0 5 0;
+#X connect 1 0 4 0;
+#X connect 2 0 1 0;
+#X connect 3 0 1 0;
+#X connect 4 0 2 0;
+#X connect 4 0 6 0;
+#X connect 5 0 3 0;
+#X connect 5 1 4 1;
+#X restore 83 160 pd uzi;
+#N canvas 0 0 454 304 uzi 0;
+#X obj 70 50 inlet;
+#X obj 70 154 f;
+#X obj 95 129 + 1;
+#X msg 67 103 0;
+#X obj 71 199 moses;
+#X obj 69 74 t b f;
+#X obj 71 232 outlet;
+#X connect 0 0 5 0;
+#X connect 1 0 4 0;
+#X connect 2 0 1 0;
+#X connect 3 0 1 0;
+#X connect 4 0 2 0;
+#X connect 4 0 6 0;
+#X connect 5 0 3 0;
+#X connect 5 1 4 1;
+#X restore 138 156 pd uzi;
+#X obj 137 127 20;
+#X obj 86 136 21;
+#X obj 109 244 % 21;
+#X msg 221 78 50;
+#X msg 149 181 mass 20 1;
+#X msg 69 297 link \$1 \$2 0.1 0.03;
+#X msg 204 360 inForce 0 3 1;
+#X msg 206 332 outPos 0 7 1;
+#X connect 0 0 19 0;
+#X connect 0 0 18 0;
+#X connect 0 1 13 0;
+#X connect 0 2 12 0;
+#X connect 0 3 1 0;
+#X connect 1 0 3 0;
+#X connect 2 0 0 0;
+#X connect 4 0 17 0;
+#X connect 5 0 4 0;
+#X connect 5 1 6 0;
+#X connect 6 0 14 0;
+#X connect 8 0 14 1;
+#X connect 9 0 13 1;
+#X connect 10 0 5 0;
+#X connect 11 0 16 0;
+#X connect 12 0 11 0;
+#X connect 13 0 10 0;
+#X connect 14 0 4 1;
+#X connect 15 0 8 0;
+#X connect 15 0 9 0;
+#X connect 15 0 12 1;
+#X connect 16 0 3 0;
+#X connect 17 0 3 0;
+#X connect 18 0 3 0;
+#X connect 19 0 3 0;
+#X restore 28 96 pd corde;
+#X obj 28 74 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 89 193 metro 100;
+#X obj 89 167 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1
+;
+#X obj 115 170 loadbang;
+#X obj 28 122 pmpd~ 1 1;
+#X obj 45 74 loadbang;
+#X obj 111 97 line~;
+#X msg 111 71 0.05 \, 0 1;
+#X obj 28 146 *~ 0.7;
+#X text 190 70 <- send a force to a point of the string;
+#X connect 1 0 0 0;
+#X connect 4 0 3 0;
+#X connect 6 0 2 0;
+#X connect 6 0 5 0;
+#X connect 6 0 5 1;
+#X connect 8 0 13 0;
+#X connect 9 0 8 0;
+#X connect 10 0 2 0;
+#X connect 11 0 10 0;
+#X connect 12 0 10 0;
+#X connect 13 0 17 0;
+#X connect 14 0 8 0;
+#X connect 15 0 13 0;
+#X connect 16 0 15 0;
+#X connect 17 0 6 0;
diff --git a/examples/aglom.pd b/examples/aglom.pd
new file mode 100644
index 0000000..b8fe2c6
--- /dev/null
+++ b/examples/aglom.pd
@@ -0,0 +1,43 @@
+#N canvas 598 312 416 470 10;
+#X msg 36 169 setXY \$1 \$2;
+#X obj 36 22 loadbang;
+#X obj 36 144 pack f f;
+#X obj 36 46 t b b;
+#X obj 57 246 gemhead;
+#X obj 57 269 translateXYZ;
+#X obj 46 219 unpack s f f;
+#X obj 143 24 r reset_mass;
+#X msg 36 355 setX \$1 \, setY \$2;
+#X obj 36 70 random 20;
+#X obj 36 116 / 4;
+#X obj 102 69 random 20;
+#X obj 102 115 / 4;
+#X obj 36 93 - 10;
+#X obj 102 91 - 10;
+#X obj 12 332 r link;
+#X obj 36 195 mass2D mass 100;
+#X obj 57 293 sphere 0.1;
+#X obj 38 382 iCircle2D mass 0 0 0.0001 0.3 0 0 0.1 0 0 0 1 1;
+#X obj 51 405 iCircle2D mass 0 0 0.3 0.7 0 0 -0.1 0 0 0 1 1;
+#X connect 0 0 16 0;
+#X connect 1 0 3 0;
+#X connect 2 0 0 0;
+#X connect 3 0 9 0;
+#X connect 3 1 11 0;
+#X connect 4 0 5 0;
+#X connect 5 0 17 0;
+#X connect 6 1 5 1;
+#X connect 6 2 5 2;
+#X connect 7 0 3 0;
+#X connect 8 0 18 0;
+#X connect 8 0 19 0;
+#X connect 9 0 13 0;
+#X connect 10 0 2 0;
+#X connect 11 0 14 0;
+#X connect 12 0 2 1;
+#X connect 13 0 10 0;
+#X connect 14 0 12 0;
+#X connect 15 0 18 0;
+#X connect 15 0 19 0;
+#X connect 16 0 6 0;
+#X connect 16 0 8 0;
diff --git a/examples/aglom2.pd b/examples/aglom2.pd
new file mode 100644
index 0000000..bacfd9c
--- /dev/null
+++ b/examples/aglom2.pd
@@ -0,0 +1,43 @@
+#N canvas 151 425 338 461 10;
+#X msg 36 169 setXY \$1 \$2;
+#X obj 36 22 loadbang;
+#X obj 36 144 pack f f;
+#X obj 36 46 t b b;
+#X obj 57 246 gemhead;
+#X obj 57 269 translateXYZ;
+#X obj 46 219 unpack s f f;
+#X obj 143 24 r reset_mass;
+#X msg 36 355 setX \$1 \, setY \$2;
+#X obj 36 70 random 20;
+#X obj 36 116 / 4;
+#X obj 102 69 random 20;
+#X obj 102 115 / 4;
+#X obj 36 93 - 10;
+#X obj 102 91 - 10;
+#X obj 12 332 r link;
+#X obj 36 195 mass2D mass 100;
+#X obj 57 293 sphere 0.1;
+#X obj 36 415 iCircle2D mass 0 0 1e-006 0.6 0 0 -0.1;
+#X obj 50 383 iCircle2D mass 0 0 1e-006 0.3 0 0 1;
+#X connect 0 0 16 0;
+#X connect 1 0 3 0;
+#X connect 2 0 0 0;
+#X connect 3 0 9 0;
+#X connect 3 1 11 0;
+#X connect 4 0 5 0;
+#X connect 5 0 17 0;
+#X connect 6 1 5 1;
+#X connect 6 2 5 2;
+#X connect 7 0 3 0;
+#X connect 8 0 18 0;
+#X connect 8 0 19 0;
+#X connect 9 0 13 0;
+#X connect 10 0 2 0;
+#X connect 11 0 14 0;
+#X connect 12 0 2 1;
+#X connect 13 0 10 0;
+#X connect 14 0 12 0;
+#X connect 15 0 18 0;
+#X connect 15 0 19 0;
+#X connect 16 0 6 0;
+#X connect 16 0 8 0;
diff --git a/examples/aglom3.pd b/examples/aglom3.pd
new file mode 100644
index 0000000..17ec4cb
--- /dev/null
+++ b/examples/aglom3.pd
@@ -0,0 +1,23 @@
+#N canvas 594 454 446 333 10;
+#X obj 61 77 gemhead;
+#X obj 61 100 translateXYZ;
+#X obj 50 50 unpack s f f;
+#X msg 40 185 setX \$1 \, setY \$2;
+#X obj 17 155 r link;
+#X obj 61 124 sphere 0.1;
+#X obj 54 214 iCircle2D mass 0 0 1e-006 0.3 0 0 1;
+#X obj 40 26 mass2D mass 100 \$1 \$2;
+#X obj 40 246 iCircle2D mass 0 0 1e-006 0.6 0 0 -0.1;
+#X obj 27 275 iCircle2D mass 0 0 1e-006 0.9 0 0 0.01;
+#X connect 0 0 1 0;
+#X connect 1 0 5 0;
+#X connect 2 1 1 1;
+#X connect 2 2 1 2;
+#X connect 3 0 6 0;
+#X connect 3 0 8 0;
+#X connect 3 0 9 0;
+#X connect 4 0 6 0;
+#X connect 4 0 8 0;
+#X connect 4 0 9 0;
+#X connect 7 0 2 0;
+#X connect 7 0 3 0;
diff --git a/examples/aglom4.pd b/examples/aglom4.pd
new file mode 100644
index 0000000..1d16f1b
--- /dev/null
+++ b/examples/aglom4.pd
@@ -0,0 +1,24 @@
+#N canvas 822 26 484 371 10;
+#X obj 82 144 gemhead;
+#X obj 82 167 translateXYZ;
+#X obj 71 117 unpack s f f;
+#X msg 61 252 setX \$1 \, setY \$2;
+#X obj 28 229 r link;
+#X obj 61 93 mass2D mass 100 \$1 \$2;
+#X obj 61 46 loadbang;
+#X msg 61 70 setYmin -7.5;
+#X obj 83 290 iCircle2D mass 0 0 1e-06 0.5 0 0 5;
+#X obj 60 315 iCircle2D mass 0 0 1e-06 1 0 0 0 0 0 0 0 0 0 0 2;
+#X obj 82 191 sphere 0.3;
+#X connect 0 0 1 0;
+#X connect 1 0 10 0;
+#X connect 2 1 1 1;
+#X connect 2 2 1 2;
+#X connect 3 0 8 0;
+#X connect 3 0 9 0;
+#X connect 4 0 8 0;
+#X connect 4 0 9 0;
+#X connect 5 0 2 0;
+#X connect 5 0 3 0;
+#X connect 6 0 7 0;
+#X connect 7 0 5 0;
diff --git a/examples/blob.pd b/examples/blob.pd
new file mode 100644
index 0000000..4ff02ea
--- /dev/null
+++ b/examples/blob.pd
@@ -0,0 +1,105 @@
+#N canvas 44 276 674 587 10;
+#X obj 245 408 translateXYZ 0 0 0;
+#X obj 245 436 sphere 0.3;
+#X obj 254 353 unpack s f f f;
+#X obj 14 24 inlet;
+#X obj 14 45 t b a;
+#X obj 149 527 outlet;
+#X obj 276 118 unpack s f f f;
+#X obj 307 142 + 0;
+#X obj 307 166 f;
+#X obj 291 192 f;
+#X obj 340 143 + 0;
+#X obj 340 167 f;
+#X obj 324 193 f;
+#X obj 372 146 + 0;
+#X obj 372 170 f;
+#X obj 361 194 f;
+#X obj 252 226 pack f f f;
+#X msg 253 257 force3D \$1 \$2 \$3;
+#X obj 262 28 r lia;
+#X obj 401 43 r r_lia;
+#X obj 264 53 t b b b;
+#X msg 401 117 0 0;
+#X obj 144 426 r masse3;
+#X obj 145 467 pack 0 f f f;
+#X msg 142 497 position3D \$2 \$3 \$4;
+#X obj 139 326 r gemhead;
+#X obj 139 350 separator;
+#X msg 472 288 setXYZ \$1 \$2 \$3;
+#X obj 472 263 pack f f \$3;
+#X obj 476 158 loadbang;
+#X obj 473 241 cos;
+#X obj 501 238 sin;
+#X obj 474 190 t b b b;
+#X obj 472 220 \$2;
+#X obj 496 214 \$2;
+#X obj 534 218 \$3;
+#X obj 511 44 r masse2;
+#X obj 510 65 route reset;
+#X obj 508 92 t b b;
+#X msg 473 125 reset;
+#X obj 154 33 inlet;
+#X obj 14 72 link3D link 0.5 1 0 0.5;
+#X obj 255 330 mass3D masse 1;
+#X connect 0 0 1 0;
+#X connect 2 1 0 1;
+#X connect 2 1 23 1;
+#X connect 2 2 0 2;
+#X connect 2 2 23 2;
+#X connect 2 3 0 3;
+#X connect 2 3 23 3;
+#X connect 3 0 4 0;
+#X connect 4 0 41 0;
+#X connect 4 1 41 0;
+#X connect 6 1 7 0;
+#X connect 6 2 10 0;
+#X connect 6 3 13 0;
+#X connect 7 0 8 0;
+#X connect 8 0 7 1;
+#X connect 8 0 9 1;
+#X connect 9 0 16 0;
+#X connect 10 0 11 0;
+#X connect 11 0 10 1;
+#X connect 11 0 12 1;
+#X connect 12 0 16 1;
+#X connect 13 0 14 0;
+#X connect 14 0 13 1;
+#X connect 14 0 15 1;
+#X connect 15 0 16 2;
+#X connect 16 0 17 0;
+#X connect 17 0 42 0;
+#X connect 18 0 20 0;
+#X connect 19 0 21 0;
+#X connect 20 0 21 0;
+#X connect 20 1 9 0;
+#X connect 20 2 15 0;
+#X connect 20 2 12 0;
+#X connect 21 0 13 0;
+#X connect 21 0 10 0;
+#X connect 21 0 7 0;
+#X connect 22 0 23 0;
+#X connect 23 0 24 0;
+#X connect 24 0 5 0;
+#X connect 25 0 26 0;
+#X connect 26 0 0 0;
+#X connect 27 0 42 0;
+#X connect 28 0 27 0;
+#X connect 29 0 32 0;
+#X connect 30 0 28 0;
+#X connect 31 0 28 1;
+#X connect 32 0 33 0;
+#X connect 32 1 34 0;
+#X connect 32 2 35 0;
+#X connect 33 0 30 0;
+#X connect 34 0 31 0;
+#X connect 35 0 28 2;
+#X connect 36 0 37 0;
+#X connect 37 0 38 0;
+#X connect 38 0 32 0;
+#X connect 38 1 39 0;
+#X connect 39 0 42 0;
+#X connect 40 0 42 0;
+#X connect 41 1 6 0;
+#X connect 42 0 2 0;
+#X connect 42 0 41 1;
diff --git a/examples/ch_gemwin.pd b/examples/ch_gemwin.pd
new file mode 100644
index 0000000..1ebbb42
--- /dev/null
+++ b/examples/ch_gemwin.pd
@@ -0,0 +1,170 @@
+#N canvas 0 0 796 617 10;
+#X obj 285 171 f;
+#X obj 206 152 spigot;
+#X obj 267 143 sel 0 1;
+#X obj 237 124 t f f;
+#X obj 206 200 -;
+#X obj 206 249 +;
+#X obj 267 213 f;
+#X obj 159 168 f;
+#X obj 80 149 spigot;
+#X obj 141 140 sel 0 1;
+#X obj 111 121 t f f;
+#X obj 80 200 -;
+#X obj 80 249 +;
+#X obj 141 210 f;
+#X obj 406 162 f;
+#X obj 327 146 spigot;
+#X obj 388 137 sel 0 1;
+#X obj 358 118 t f f;
+#X obj 327 197 -;
+#X obj 388 207 f;
+#X obj 80 465 * 4;
+#X obj 135 467 * 4;
+#X obj 156 308 t b f;
+#X obj 94 372 cos;
+#X obj 106 430 * 1;
+#X obj 80 430 * 1;
+#X obj 132 373 sin;
+#X obj 107 466 * 4;
+#X obj 94 394 t b f;
+#X obj 94 348 / 200;
+#X obj 80 491 pack f f f;
+#X obj 458 49 gemmouse;
+#X obj 515 135 t b f;
+#X obj 515 164 |;
+#X obj 487 240 gemhead;
+#X obj 491 193 loadbang;
+#X msg 487 215 0;
+#X obj 487 315 curve 2;
+#X obj 487 266 color 1 0 0;
+#X obj 571 240 gemhead;
+#X obj 571 315 curve 2;
+#X obj 651 242 gemhead;
+#X obj 651 317 curve 2;
+#X msg 524 289 3 0 0;
+#X msg 608 289 0 3 0;
+#X msg 688 291 0 0 3;
+#X msg 80 516 view \$1 \$2 \$3 0 0 0 0 1 0;
+#X obj 571 266 color 0 1 0;
+#X obj 651 268 color 0 0 1;
+#X obj 80 308 sin;
+#X obj 106 309 cos;
+#X obj 327 246 + 200;
+#X obj 157 282 / 50;
+#X obj 80 283 / -200;
+#X obj 18 12 inlet;
+#X obj 20 579 outlet;
+#X obj 21 551 gemwin \$1;
+#X obj 60 14 inlet;
+#X obj 215 19 inlet;
+#X obj 132 15 inlet;
+#X obj 213 44 * 5;
+#X obj 59 82 / 127;
+#X obj 60 61 * 400;
+#X obj 131 82 / 127;
+#X obj 131 58 * 200;
+#X obj 131 36 * -3.14;
+#X obj 60 37 * 3.14;
+#X connect 0 0 4 1;
+#X connect 1 0 4 0;
+#X connect 2 0 6 0;
+#X connect 2 1 0 0;
+#X connect 3 0 1 1;
+#X connect 3 1 2 0;
+#X connect 4 0 5 0;
+#X connect 5 0 6 1;
+#X connect 5 0 29 0;
+#X connect 6 0 5 1;
+#X connect 7 0 11 1;
+#X connect 8 0 11 0;
+#X connect 9 0 13 0;
+#X connect 9 1 7 0;
+#X connect 10 0 8 1;
+#X connect 10 1 9 0;
+#X connect 11 0 12 0;
+#X connect 12 0 13 1;
+#X connect 12 0 53 0;
+#X connect 13 0 12 1;
+#X connect 14 0 18 1;
+#X connect 15 0 18 0;
+#X connect 16 0 19 0;
+#X connect 16 1 14 0;
+#X connect 17 0 15 1;
+#X connect 17 1 16 0;
+#X connect 18 0 51 0;
+#X connect 19 0 51 1;
+#X connect 20 0 30 0;
+#X connect 21 0 30 2;
+#X connect 22 0 21 0;
+#X connect 22 0 20 0;
+#X connect 22 0 27 0;
+#X connect 22 1 21 1;
+#X connect 22 1 20 1;
+#X connect 22 1 27 1;
+#X connect 23 0 28 0;
+#X connect 24 0 21 0;
+#X connect 25 0 20 0;
+#X connect 26 0 27 0;
+#X connect 27 0 30 1;
+#X connect 28 0 24 0;
+#X connect 28 0 25 0;
+#X connect 28 1 24 1;
+#X connect 28 1 25 1;
+#X connect 29 0 23 0;
+#X connect 29 0 26 0;
+#X connect 30 0 46 0;
+#X connect 31 0 8 0;
+#X connect 31 0 7 1;
+#X connect 31 1 1 0;
+#X connect 31 1 0 1;
+#X connect 31 1 14 1;
+#X connect 31 1 15 0;
+#X connect 31 2 3 0;
+#X connect 31 2 10 0;
+#X connect 31 2 33 0;
+#X connect 31 3 17 0;
+#X connect 31 3 32 0;
+#X connect 32 0 33 0;
+#X connect 32 1 33 1;
+#X connect 33 0 34 0;
+#X connect 33 0 39 0;
+#X connect 33 0 41 0;
+#X connect 34 0 38 0;
+#X connect 35 0 36 0;
+#X connect 35 0 43 0;
+#X connect 35 0 44 0;
+#X connect 35 0 45 0;
+#X connect 35 0 53 0;
+#X connect 35 0 51 0;
+#X connect 36 0 34 0;
+#X connect 36 0 39 0;
+#X connect 36 0 41 0;
+#X connect 38 0 37 0;
+#X connect 39 0 47 0;
+#X connect 41 0 48 0;
+#X connect 43 0 37 2;
+#X connect 44 0 40 2;
+#X connect 45 0 42 2;
+#X connect 46 0 56 0;
+#X connect 47 0 40 0;
+#X connect 48 0 42 0;
+#X connect 49 0 25 0;
+#X connect 50 0 24 0;
+#X connect 51 0 19 1;
+#X connect 51 0 52 0;
+#X connect 52 0 22 0;
+#X connect 53 0 49 0;
+#X connect 53 0 50 0;
+#X connect 54 0 56 0;
+#X connect 56 0 55 0;
+#X connect 57 0 66 0;
+#X connect 58 0 60 0;
+#X connect 59 0 65 0;
+#X connect 60 0 52 0;
+#X connect 61 0 53 0;
+#X connect 62 0 61 0;
+#X connect 63 0 29 0;
+#X connect 64 0 63 0;
+#X connect 65 0 64 0;
+#X connect 66 0 62 0;
diff --git a/examples/ch_uzi.pd b/examples/ch_uzi.pd
new file mode 100644
index 0000000..43b450d
--- /dev/null
+++ b/examples/ch_uzi.pd
@@ -0,0 +1,22 @@
+#N canvas 0 0 450 300 10;
+#X obj 82 155 moses \$1;
+#X obj 81 102 0;
+#X obj 82 126 + 1;
+#X obj 81 182 t b;
+#X msg 78 78 0;
+#X obj 33 236 outlet;
+#X obj 91 237 outlet;
+#X obj 153 239 outlet;
+#X msg 153 196 bang;
+#X obj 62 24 inlet;
+#X connect 0 0 3 0;
+#X connect 0 0 6 0;
+#X connect 0 1 8 0;
+#X connect 1 0 2 0;
+#X connect 2 0 1 1;
+#X connect 2 0 0 0;
+#X connect 3 0 1 0;
+#X connect 3 0 5 0;
+#X connect 4 0 1 0;
+#X connect 8 0 7 0;
+#X connect 9 0 4 0;
diff --git a/examples/constructor.pd b/examples/constructor.pd
new file mode 100644
index 0000000..0e1aa28
--- /dev/null
+++ b/examples/constructor.pd
@@ -0,0 +1,773 @@
+#N canvas 182 111 694 704 10;
+#X obj 139 340 symbol \$10;
+#X obj 18 177 inlet;
+#X obj 18 202 sel 0 1;
+#X obj 36 227 t b b;
+#X msg 18 413 menuclose;
+#X obj 18 595 s pd-array;
+#X obj 36 361 pack f f f f f f s;
+#X msg 36 388 obj \$1 \$2 \$7 \$3 \$4 \$5 \$6;
+#N canvas 672 57 395 809 generator 0;
+#X obj 24 21 inlet;
+#X obj 24 747 outlet;
+#X obj 24 688 pack f f f f f f;
+#X obj 65 45 \$1;
+#X text 40 708 posX \, posY \, number \, valueX \, valueY \, valueZ
+;
+#N canvas 587 356 209 245 uzi 0;
+#X obj 41 91 0;
+#X obj 42 115 + 1;
+#X obj 41 202 outlet;
+#X obj 41 16 inlet;
+#X obj 42 140 moses 1;
+#X obj 41 42 t b f;
+#X msg 41 68 -1;
+#X obj 41 167 delay 0;
+#X connect 0 0 1 0;
+#X connect 1 0 4 0;
+#X connect 1 0 0 1;
+#X connect 3 0 5 0;
+#X connect 4 0 2 0;
+#X connect 4 0 7 0;
+#X connect 5 0 6 0;
+#X connect 5 1 4 1;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 24 145 pd uzi;
+#X obj 65 21 loadbang;
+#X obj 65 91 * \$3;
+#X obj 65 67 * \$2;
+#X obj 24 121 f;
+#X obj 24 193 % \$1;
+#X obj 24 169 t f f f f;
+#X text 54 193 X;
+#X obj 133 24 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 34 67 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 40 275 % \$2;
+#X text 76 277 Y;
+#X obj 56 306 / \$2;
+#X obj 56 351 % \$3;
+#X obj 40 252 / \$1;
+#X obj 56 328 / \$1;
+#X text 91 351 Z;
+#X obj 24 420 +;
+#X obj 40 570 +;
+#X obj 40 400 * 20;
+#X obj 56 542 * 50;
+#X obj 24 218 t f f;
+#N canvas 724 448 176 188 valeurX 0;
+#X obj 15 11 inlet;
+#X obj 15 146 outlet;
+#X obj 25 34 loadbang;
+#N canvas 0 0 315 417 range 0;
+#X obj 16 45 inlet;
+#X obj 63 45 inlet;
+#X obj 109 45 inlet;
+#X obj 154 45 inlet;
+#X obj 200 45 inlet;
+#X obj 125 112 -;
+#X obj 109 76 t b f;
+#X obj 154 113 -;
+#X obj 16 168 -;
+#X obj 16 76 t b f;
+#X obj 125 218 /;
+#X obj 154 264 *;
+#X obj 186 306 +;
+#X obj 154 77 t b f f;
+#X obj 186 337 outlet;
+#X obj 63 76 t f f;
+#X obj 15 107 f;
+#X connect 0 0 9 0;
+#X connect 1 0 15 0;
+#X connect 2 0 6 0;
+#X connect 3 0 13 0;
+#X connect 4 0 7 0;
+#X connect 5 0 10 1;
+#X connect 6 0 5 0;
+#X connect 6 1 5 1;
+#X connect 7 0 11 1;
+#X connect 8 0 10 0;
+#X connect 9 0 16 0;
+#X connect 9 1 8 1;
+#X connect 10 0 11 0;
+#X connect 11 0 12 0;
+#X connect 12 0 14 0;
+#X connect 13 0 7 0;
+#X connect 13 1 7 1;
+#X connect 13 2 12 1;
+#X connect 15 0 16 1;
+#X connect 15 1 5 0;
+#X connect 16 0 8 0;
+#X restore 15 121 pd range;
+#X msg 25 67 0;
+#X obj 53 67 \$1;
+#X obj 53 91 - 1;
+#X obj 82 67 \$4;
+#X obj 113 67 \$5;
+#X connect 0 0 3 0;
+#X connect 2 0 4 0;
+#X connect 2 0 5 0;
+#X connect 2 0 7 0;
+#X connect 2 0 8 0;
+#X connect 3 0 1 0;
+#X connect 4 0 3 1;
+#X connect 5 0 6 0;
+#X connect 6 0 3 2;
+#X connect 7 0 3 3;
+#X connect 8 0 3 4;
+#X restore 78 607 pd valeurX;
+#X obj 75 454 \$2;
+#X obj 75 429 loadbang;
+#X obj 75 476 - 1;
+#X obj 75 498 * 20;
+#X obj 75 521 + 100;
+#X obj 24 378 * 200;
+#N canvas 724 448 180 192 valeurY 0;
+#X obj 15 11 inlet;
+#X obj 15 146 outlet;
+#X obj 25 34 loadbang;
+#N canvas 0 0 315 417 range 0;
+#X obj 16 45 inlet;
+#X obj 63 45 inlet;
+#X obj 109 45 inlet;
+#X obj 154 45 inlet;
+#X obj 200 45 inlet;
+#X obj 125 112 -;
+#X obj 109 76 t b f;
+#X obj 154 113 -;
+#X obj 16 168 -;
+#X obj 16 76 t b f;
+#X obj 109 193 /;
+#X obj 138 239 *;
+#X obj 170 281 +;
+#X obj 154 77 t b f f;
+#X obj 170 312 outlet;
+#X obj 63 76 t f f;
+#X obj 13 112 f;
+#X connect 0 0 9 0;
+#X connect 1 0 15 0;
+#X connect 2 0 6 0;
+#X connect 3 0 13 0;
+#X connect 4 0 7 0;
+#X connect 5 0 10 1;
+#X connect 6 0 5 0;
+#X connect 6 1 5 1;
+#X connect 7 0 11 1;
+#X connect 8 0 10 0;
+#X connect 9 0 16 0;
+#X connect 9 1 8 1;
+#X connect 10 0 11 0;
+#X connect 11 0 12 0;
+#X connect 12 0 14 0;
+#X connect 13 0 7 0;
+#X connect 13 1 7 1;
+#X connect 13 2 12 1;
+#X connect 15 0 16 1;
+#X connect 15 1 5 0;
+#X connect 16 0 8 0;
+#X restore 15 121 pd range;
+#X msg 25 67 0;
+#X obj 53 91 - 1;
+#X obj 53 67 \$2;
+#X obj 82 67 \$6;
+#X obj 113 67 \$7;
+#X connect 0 0 3 0;
+#X connect 2 0 4 0;
+#X connect 2 0 6 0;
+#X connect 2 0 7 0;
+#X connect 2 0 8 0;
+#X connect 3 0 1 0;
+#X connect 4 0 3 1;
+#X connect 5 0 3 2;
+#X connect 6 0 5 0;
+#X connect 7 0 3 3;
+#X connect 8 0 3 4;
+#X restore 96 627 pd valeurY;
+#N canvas 724 448 178 190 valeurZ 0;
+#X obj 15 11 inlet;
+#X obj 15 146 outlet;
+#X obj 25 34 loadbang;
+#N canvas 352 24 315 417 range 0;
+#X obj 16 45 inlet;
+#X obj 63 45 inlet;
+#X obj 109 45 inlet;
+#X obj 154 45 inlet;
+#X obj 200 45 inlet;
+#X obj 125 112 -;
+#X obj 109 76 t b f;
+#X obj 154 113 -;
+#X obj 16 168 -;
+#X obj 16 76 t b f;
+#X obj 109 202 /;
+#X obj 138 248 *;
+#X obj 170 290 +;
+#X obj 154 77 t b f f;
+#X obj 170 321 outlet;
+#X obj 63 76 t f f;
+#X obj 15 110 f;
+#X connect 0 0 9 0;
+#X connect 1 0 15 0;
+#X connect 2 0 6 0;
+#X connect 3 0 13 0;
+#X connect 4 0 7 0;
+#X connect 5 0 10 1;
+#X connect 6 0 5 0;
+#X connect 6 1 5 1;
+#X connect 7 0 11 1;
+#X connect 8 0 10 0;
+#X connect 9 0 16 0;
+#X connect 9 1 8 1;
+#X connect 10 0 11 0;
+#X connect 11 0 12 0;
+#X connect 12 0 14 0;
+#X connect 13 0 7 0;
+#X connect 13 1 7 1;
+#X connect 13 2 12 1;
+#X connect 15 0 16 1;
+#X connect 15 1 5 0;
+#X connect 16 0 8 0;
+#X restore 15 121 pd range;
+#X msg 25 67 0;
+#X obj 53 91 - 1;
+#X obj 53 67 \$3;
+#X obj 82 67 \$8;
+#X obj 114 67 \$9;
+#X connect 0 0 3 0;
+#X connect 2 0 4 0;
+#X connect 2 0 6 0;
+#X connect 2 0 7 0;
+#X connect 2 0 8 0;
+#X connect 3 0 1 0;
+#X connect 4 0 3 1;
+#X connect 5 0 3 2;
+#X connect 6 0 5 0;
+#X connect 7 0 3 3;
+#X connect 8 0 3 4;
+#X restore 115 648 pd valeurZ;
+#X connect 0 0 9 0;
+#X connect 2 0 1 0;
+#X connect 3 0 8 0;
+#X connect 5 0 11 0;
+#X connect 6 0 3 0;
+#X connect 7 0 9 1;
+#X connect 8 0 7 0;
+#X connect 9 0 5 0;
+#X connect 10 0 26 0;
+#X connect 11 0 10 0;
+#X connect 11 1 19 0;
+#X connect 11 2 17 0;
+#X connect 11 3 2 2;
+#X connect 13 0 3 0;
+#X connect 14 0 9 0;
+#X connect 15 0 24 0;
+#X connect 15 0 34 0;
+#X connect 17 0 20 0;
+#X connect 18 0 25 0;
+#X connect 18 0 35 0;
+#X connect 19 0 15 0;
+#X connect 20 0 18 0;
+#X connect 22 0 2 0;
+#X connect 23 0 2 1;
+#X connect 24 0 22 1;
+#X connect 24 0 23 0;
+#X connect 25 0 23 1;
+#X connect 26 0 33 0;
+#X connect 26 1 27 0;
+#X connect 27 0 2 3;
+#X connect 28 0 30 0;
+#X connect 29 0 28 0;
+#X connect 30 0 31 0;
+#X connect 31 0 32 0;
+#X connect 32 0 25 1;
+#X connect 33 0 22 0;
+#X connect 34 0 2 4;
+#X connect 35 0 2 5;
+#X restore 36 334 pd generator;
+#X obj 139 315 loadbang;
+#X obj 248 233 inlet;
+#N canvas 417 47 606 869 connect 0;
+#X obj 18 4 inlet;
+#X obj 154 785 outlet;
+#X text 27 35 offsetX \, offestY \, offsetZ \, outlet \, inlet;
+#X obj 127 201 - \$1;
+#X obj 127 223 * -1;
+#X obj 18 175 moses 0;
+#X msg 55 199 0;
+#X obj 18 199 abs;
+#X obj 89 222 \$1;
+#X msg 89 199 bang;
+#X obj 88 175 moses 0;
+#X obj 280 264 * -1;
+#X obj 171 213 moses 0;
+#X msg 208 237 0;
+#X obj 171 237 abs;
+#X msg 242 237 bang;
+#X obj 241 213 moses 0;
+#X obj 428 326 * -1;
+#X obj 319 275 moses 0;
+#X msg 356 299 0;
+#X obj 319 299 abs;
+#X msg 390 299 bang;
+#X obj 389 275 moses 0;
+#X obj 154 762 pack f f f f;
+#X msg 89 12 1 2 1 1 1;
+#X obj 505 320 - 1;
+#X obj 556 332 - 1;
+#X obj 280 239 - \$2;
+#X obj 242 258 \$2;
+#X obj 428 301 - \$3;
+#X obj 390 320 \$3;
+#X text 54 232 Xmin;
+#X text 201 269 Ymin;
+#X text 120 249 Xmax;
+#X text 279 293 Ymax;
+#X text 349 332 Zmin;
+#X text 414 354 Zmax;
+#X text 502 300 outlet;
+#X text 565 305 inlet;
+#N canvas 220 47 314 643 generator 0;
+#X obj 37 38 inlet;
+#X obj 38 536 outlet;
+#X obj 84 138 \$1;
+#N canvas 587 356 211 247 uzi 0;
+#X obj 41 91 0;
+#X obj 42 115 + 1;
+#X obj 41 202 outlet;
+#X obj 41 16 inlet;
+#X obj 42 140 moses 1;
+#X obj 41 42 t b f;
+#X msg 41 68 -1;
+#X obj 41 167 delay 0;
+#X connect 0 0 1 0;
+#X connect 1 0 4 0;
+#X connect 1 0 0 1;
+#X connect 3 0 5 0;
+#X connect 4 0 2 0;
+#X connect 4 0 7 0;
+#X connect 5 0 6 0;
+#X connect 5 1 4 1;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 38 230 pd uzi;
+#X obj 84 184 * \$3;
+#X obj 84 160 * \$2;
+#X obj 38 206 f;
+#X obj 38 278 % \$1;
+#X obj 38 254 t f f f f;
+#X text 68 278 X;
+#X obj 54 328 % \$2;
+#X text 90 330 Y;
+#X obj 70 356 / \$2;
+#X obj 70 401 % \$3;
+#X obj 54 305 / \$1;
+#X obj 70 378 / \$1;
+#X text 105 401 Z;
+#N canvas 524 397 238 191 valeurZ 0;
+#X obj 31 29 inlet;
+#X obj 31 164 outlet;
+#X obj 41 52 loadbang;
+#N canvas 0 0 315 417 range 0;
+#X obj 16 45 inlet;
+#X obj 63 45 inlet;
+#X obj 109 45 inlet;
+#X obj 154 45 inlet;
+#X obj 200 45 inlet;
+#X obj 125 112 -;
+#X obj 109 76 t b f;
+#X obj 154 113 -;
+#X obj 16 168 -;
+#X obj 16 76 t b f;
+#X obj 125 218 /;
+#X obj 154 264 *;
+#X obj 186 306 +;
+#X obj 154 77 t b f f;
+#X obj 186 337 outlet;
+#X obj 63 76 t f f;
+#X obj 16 113 f;
+#X connect 0 0 9 0;
+#X connect 1 0 15 0;
+#X connect 2 0 6 0;
+#X connect 3 0 13 0;
+#X connect 4 0 7 0;
+#X connect 5 0 10 1;
+#X connect 6 0 5 0;
+#X connect 6 1 5 1;
+#X connect 7 0 11 1;
+#X connect 8 0 10 0;
+#X connect 9 0 16 0;
+#X connect 9 1 8 1;
+#X connect 10 0 11 0;
+#X connect 11 0 12 0;
+#X connect 12 0 14 0;
+#X connect 13 0 7 0;
+#X connect 13 1 7 1;
+#X connect 13 2 12 1;
+#X connect 15 0 16 1;
+#X connect 15 1 5 0;
+#X connect 16 0 8 0;
+#X restore 31 139 pd range;
+#X msg 41 85 0;
+#X obj 69 109 - 1;
+#X obj 103 31 inlet;
+#X obj 142 31 inlet;
+#X obj 182 31 inlet;
+#X connect 0 0 3 0;
+#X connect 2 0 4 0;
+#X connect 3 0 1 0;
+#X connect 4 0 3 1;
+#X connect 5 0 3 2;
+#X connect 6 0 5 0;
+#X connect 7 0 3 3;
+#X connect 8 0 3 4;
+#X restore 70 425 pd valeurZ;
+#X obj 38 509 pack f f f;
+#X text 90 541 valueX \, valueY \, valueZ;
+#X obj 37 66 t b l;
+#X obj 87 92 unpack f f f f f f f f f;
+#N canvas 366 669 236 189 valeurY 0;
+#X obj 31 29 inlet;
+#X obj 31 164 outlet;
+#X obj 41 52 loadbang;
+#N canvas 326 5 317 419 range 0;
+#X obj 16 45 inlet;
+#X obj 63 45 inlet;
+#X obj 109 45 inlet;
+#X obj 154 45 inlet;
+#X obj 200 45 inlet;
+#X obj 125 112 -;
+#X obj 109 76 t b f;
+#X obj 154 113 -;
+#X obj 16 168 -;
+#X obj 16 76 t b f;
+#X obj 125 218 /;
+#X obj 154 264 *;
+#X obj 186 306 +;
+#X obj 154 77 t b f f;
+#X obj 186 337 outlet;
+#X obj 63 76 t f f;
+#X obj 15 119 f;
+#X connect 0 0 9 0;
+#X connect 1 0 15 0;
+#X connect 2 0 6 0;
+#X connect 3 0 13 0;
+#X connect 4 0 7 0;
+#X connect 5 0 10 1;
+#X connect 6 0 5 0;
+#X connect 6 1 5 1;
+#X connect 7 0 11 1;
+#X connect 8 0 10 0;
+#X connect 9 0 16 0;
+#X connect 9 1 8 1;
+#X connect 10 0 11 0;
+#X connect 11 0 12 0;
+#X connect 12 0 14 0;
+#X connect 13 0 7 0;
+#X connect 13 1 7 1;
+#X connect 13 2 12 1;
+#X connect 15 0 16 1;
+#X connect 15 1 5 0;
+#X connect 16 0 8 0;
+#X restore 31 139 pd range;
+#X msg 41 85 0;
+#X obj 69 109 - 1;
+#X obj 103 31 inlet;
+#X obj 142 31 inlet;
+#X obj 182 31 inlet;
+#X connect 0 0 3 0;
+#X connect 2 0 4 0;
+#X connect 3 0 1 0;
+#X connect 4 0 3 1;
+#X connect 5 0 3 2;
+#X connect 6 0 5 0;
+#X connect 7 0 3 3;
+#X connect 8 0 3 4;
+#X restore 56 447 pd valeurY;
+#N canvas 671 661 240 193 valeurX 0;
+#X obj 31 29 inlet;
+#X obj 31 164 outlet;
+#X obj 41 52 loadbang;
+#N canvas 0 0 321 423 range 0;
+#X obj 16 45 inlet;
+#X obj 63 45 inlet;
+#X obj 109 45 inlet;
+#X obj 154 45 inlet;
+#X obj 200 45 inlet;
+#X obj 125 112 -;
+#X obj 109 76 t b f;
+#X obj 154 113 -;
+#X obj 16 168 -;
+#X obj 16 76 t b f;
+#X obj 125 218 /;
+#X obj 154 264 *;
+#X obj 186 306 +;
+#X obj 157 76 t b f f;
+#X obj 186 337 outlet;
+#X obj 63 76 t f f;
+#X obj 16 143 f;
+#X connect 0 0 9 0;
+#X connect 1 0 15 0;
+#X connect 2 0 6 0;
+#X connect 3 0 13 0;
+#X connect 4 0 7 0;
+#X connect 5 0 10 1;
+#X connect 6 0 5 0;
+#X connect 6 1 5 1;
+#X connect 7 0 11 1;
+#X connect 8 0 10 0;
+#X connect 9 0 16 0;
+#X connect 9 1 8 1;
+#X connect 10 0 11 0;
+#X connect 11 0 12 0;
+#X connect 12 0 14 0;
+#X connect 13 0 7 0;
+#X connect 13 1 7 1;
+#X connect 13 2 12 1;
+#X connect 15 0 16 1;
+#X connect 15 1 5 0;
+#X connect 16 0 8 0;
+#X restore 31 139 pd range;
+#X msg 41 85 0;
+#X obj 69 109 - 1;
+#X obj 103 31 inlet;
+#X obj 142 31 inlet;
+#X obj 182 31 inlet;
+#X connect 0 0 3 0;
+#X connect 2 0 4 0;
+#X connect 3 0 1 0;
+#X connect 4 0 3 1;
+#X connect 5 0 3 2;
+#X connect 6 0 5 0;
+#X connect 7 0 3 3;
+#X connect 8 0 3 4;
+#X restore 38 475 pd valeurX;
+#X connect 0 0 20 0;
+#X connect 2 0 5 0;
+#X connect 3 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 4 0;
+#X connect 6 0 3 0;
+#X connect 7 0 23 0;
+#X connect 8 0 7 0;
+#X connect 8 1 14 0;
+#X connect 8 2 12 0;
+#X connect 10 0 22 0;
+#X connect 12 0 15 0;
+#X connect 13 0 17 0;
+#X connect 14 0 10 0;
+#X connect 15 0 13 0;
+#X connect 17 0 18 2;
+#X connect 18 0 1 0;
+#X connect 20 0 6 0;
+#X connect 20 1 21 0;
+#X connect 21 0 2 0;
+#X connect 21 0 7 1;
+#X connect 21 0 14 1;
+#X connect 21 0 12 1;
+#X connect 21 0 23 1;
+#X connect 21 1 5 1;
+#X connect 21 1 10 1;
+#X connect 21 1 15 1;
+#X connect 21 1 22 1;
+#X connect 21 2 4 1;
+#X connect 21 2 13 1;
+#X connect 21 2 17 1;
+#X connect 21 3 23 2;
+#X connect 21 4 23 3;
+#X connect 21 5 22 2;
+#X connect 21 6 22 3;
+#X connect 21 7 17 2;
+#X connect 21 8 17 3;
+#X connect 22 0 18 1;
+#X connect 23 0 18 0;
+#X restore 154 489 pd generator;
+#X obj 18 108 t f f;
+#X obj 171 184 t f f;
+#X obj 319 245 t f f;
+#X obj 18 56 unpack f f f f f;
+#X obj 18 306 -;
+#X obj 154 464 pack f f f f f f f f f;
+#X obj 89 249 f;
+#X obj 171 267 f;
+#X obj 242 291 f;
+#X obj 319 331 f;
+#X obj 390 354 f;
+#X obj 171 340 -;
+#X obj 18 230 t f f;
+#X obj 319 377 -;
+#X obj 154 547 unpack f f f;
+#X obj 260 552 unpack f f f;
+#X obj 293 598 * \$1;
+#X obj 327 598 * \$2;
+#X obj 154 513 t l l;
+#X obj 260 574 +;
+#X obj 293 575 +;
+#X obj 327 575 +;
+#X obj 18 329 * -1;
+#X obj 171 365 * -1;
+#X obj 319 399 * -1;
+#X obj 171 386 + 1;
+#X obj 319 422 + 1;
+#X obj 90 272 - 1;
+#X obj 242 314 - 1;
+#X obj 392 374 - 1;
+#X obj 20 351 + 1;
+#X obj 187 598 * \$1;
+#X obj 221 598 * \$2;
+#X obj 221 619 * \$1;
+#X obj 187 644 +;
+#X obj 327 620 * \$1;
+#X obj 293 647 +;
+#X obj 154 671 +;
+#X obj 260 670 +;
+#X connect 0 0 43 0;
+#X connect 3 0 4 0;
+#X connect 4 0 46 0;
+#X connect 5 0 7 0;
+#X connect 5 1 6 0;
+#X connect 6 0 52 0;
+#X connect 7 0 52 0;
+#X connect 8 0 46 0;
+#X connect 9 0 8 0;
+#X connect 10 0 9 0;
+#X connect 10 1 3 0;
+#X connect 11 0 48 0;
+#X connect 12 0 14 0;
+#X connect 12 1 13 0;
+#X connect 13 0 47 0;
+#X connect 14 0 47 0;
+#X connect 15 0 28 0;
+#X connect 16 0 15 0;
+#X connect 16 1 27 0;
+#X connect 17 0 50 0;
+#X connect 18 0 20 0;
+#X connect 18 1 19 0;
+#X connect 19 0 49 0;
+#X connect 20 0 49 0;
+#X connect 21 0 30 0;
+#X connect 22 0 21 0;
+#X connect 22 1 29 0;
+#X connect 23 0 1 0;
+#X connect 24 0 43 0;
+#X connect 25 0 23 1;
+#X connect 26 0 23 3;
+#X connect 27 0 11 0;
+#X connect 28 0 48 0;
+#X connect 29 0 17 0;
+#X connect 30 0 50 0;
+#X connect 39 0 58 0;
+#X connect 40 0 5 0;
+#X connect 40 1 10 0;
+#X connect 40 1 59 1;
+#X connect 41 0 12 0;
+#X connect 41 1 16 0;
+#X connect 42 0 18 0;
+#X connect 42 1 22 0;
+#X connect 43 0 40 0;
+#X connect 43 1 41 0;
+#X connect 43 1 60 1;
+#X connect 43 2 42 0;
+#X connect 43 2 61 1;
+#X connect 43 3 25 0;
+#X connect 43 4 26 0;
+#X connect 44 0 62 0;
+#X connect 45 0 39 0;
+#X connect 46 0 67 0;
+#X connect 47 0 45 5;
+#X connect 47 0 51 0;
+#X connect 48 0 68 0;
+#X connect 49 0 45 7;
+#X connect 49 0 53 0;
+#X connect 50 0 69 0;
+#X connect 51 0 63 0;
+#X connect 52 0 44 0;
+#X connect 52 1 45 3;
+#X connect 53 0 64 0;
+#X connect 54 0 77 0;
+#X connect 54 1 71 0;
+#X connect 54 2 72 0;
+#X connect 55 0 59 0;
+#X connect 55 1 60 0;
+#X connect 55 2 61 0;
+#X connect 56 0 76 0;
+#X connect 57 0 75 0;
+#X connect 58 0 54 0;
+#X connect 58 1 55 0;
+#X connect 59 0 78 0;
+#X connect 60 0 56 0;
+#X connect 61 0 57 0;
+#X connect 62 0 70 0;
+#X connect 63 0 65 0;
+#X connect 64 0 66 0;
+#X connect 65 0 45 1;
+#X connect 66 0 45 2;
+#X connect 67 0 44 1;
+#X connect 67 0 45 4;
+#X connect 68 0 45 6;
+#X connect 68 0 51 1;
+#X connect 69 0 45 8;
+#X connect 69 0 53 1;
+#X connect 70 0 45 0;
+#X connect 71 0 74 0;
+#X connect 72 0 73 0;
+#X connect 73 0 74 1;
+#X connect 74 0 77 1;
+#X connect 75 0 76 1;
+#X connect 76 0 78 1;
+#X connect 77 0 23 0;
+#X connect 78 0 23 2;
+#X restore 248 515 pd connect;
+#X msg 248 544 connect \$1 \$2 \$3 \$4;
+#X text 12 35 args : [x] [y] [z] [Xmin] [Xmax] [Ymin] [Ymax] [Zmin]
+[Zmax] [abstraction];
+#X text 14 67 inlet 1 : 1 to create the array of abstraction;
+#X text 13 88 inlet 2 : create connection beetween abstraction : send
+a liste ([offsetX] [offsetY] [offsetZ] [outlet num] [inlet num]);
+#X msg 61 254 \; pd-array vis 1 \, selectall \; pd-array cut \; pd-array
+vis 0 \;;
+#X text 242 137 Ben Bogart & ch;
+#X text 14 5 create a X Y Z matrix of abstraction. create connection
+beetween them.;
+#X text 289 233 <- connect object from the array;
+#X text 291 254 comment;
+#X obj 267 487 pack f f f f f;
+#X floatatom 267 381 5 0 0 0 - - -;
+#X floatatom 286 403 5 0 0 0 - - -;
+#X floatatom 306 424 5 0 0 0 - - -;
+#X floatatom 326 445 5 0 0 0 - - -;
+#X floatatom 346 466 5 0 0 0 - - -;
+#X text 266 353 create a connection beetween the objects of the array
+;
+#X text 309 378 X offset from the 1st object to the secont object to
+link;
+#X text 326 401 Y offset from the 1st object to the secont object to
+link;
+#X text 345 422 Z offset from the 1st object to the secont object to
+link;
+#X text 368 443 oultet of the 1st object number;
+#X text 386 465 inlet of the 2nd object number;
+#X text 73 176 <- 0/1 : fill the array. You sould have create a "pd
+array" somwhere;
+#X text 24 620 the argument feed to the created abstraction are : abstraction
+number (unique) \, X position \, Y position \, Z position;
+#X connect 0 0 6 6;
+#X connect 1 0 2 0;
+#X connect 2 0 4 0;
+#X connect 2 1 3 0;
+#X connect 3 0 8 0;
+#X connect 3 1 16 0;
+#X connect 4 0 5 0;
+#X connect 6 0 7 0;
+#X connect 7 0 5 0;
+#X connect 8 0 6 0;
+#X connect 9 0 0 0;
+#X connect 10 0 11 0;
+#X connect 11 0 12 0;
+#X connect 12 0 5 0;
+#X connect 21 0 11 0;
+#X connect 22 0 21 0;
+#X connect 23 0 21 1;
+#X connect 24 0 21 2;
+#X connect 25 0 21 3;
+#X connect 26 0 21 4;
diff --git a/examples/explose1.pd b/examples/explose1.pd
new file mode 100644
index 0000000..5cf52e8
--- /dev/null
+++ b/examples/explose1.pd
@@ -0,0 +1,24 @@
+#N canvas 571 315 315 391 10;
+#X obj 30 113 gemhead;
+#X obj 30 139 translateXYZ;
+#X obj 22 60 unpack s f f f;
+#X obj 22 37 mass3D mass 1 0 3;
+#X obj 36 193 rotateXYZ;
+#X obj 164 140 loadbang;
+#X obj 164 165 random 360;
+#X obj 242 164 random 360;
+#X obj 324 166 random 360;
+#X obj 45 248 cube 0.1;
+#X connect 0 0 1 0;
+#X connect 1 0 4 0;
+#X connect 2 1 1 1;
+#X connect 2 2 1 2;
+#X connect 2 3 1 3;
+#X connect 3 0 2 0;
+#X connect 4 0 9 0;
+#X connect 5 0 6 0;
+#X connect 5 0 7 0;
+#X connect 5 0 8 0;
+#X connect 6 0 4 1;
+#X connect 7 0 4 2;
+#X connect 8 0 4 3;
diff --git a/examples/explose2.pd b/examples/explose2.pd
new file mode 100644
index 0000000..0e5f8ff
--- /dev/null
+++ b/examples/explose2.pd
@@ -0,0 +1,26 @@
+#N canvas 571 315 425 417 10;
+#X obj 30 113 gemhead;
+#X obj 30 139 translateXYZ;
+#X obj 22 60 unpack s f f f;
+#X obj 22 37 mass3D mass2 1 0 3;
+#X obj 36 193 rotateXYZ;
+#X obj 164 140 loadbang;
+#X obj 164 165 random 360;
+#X obj 242 164 random 360;
+#X obj 324 166 random 360;
+#X obj 33 278 primTri;
+#X obj 36 243 scaleXYZ 0.1 0.1 0.1;
+#X connect 0 0 1 0;
+#X connect 1 0 4 0;
+#X connect 2 1 1 1;
+#X connect 2 2 1 2;
+#X connect 2 3 1 3;
+#X connect 3 0 2 0;
+#X connect 4 0 10 0;
+#X connect 5 0 6 0;
+#X connect 5 0 7 0;
+#X connect 5 0 8 0;
+#X connect 6 0 4 1;
+#X connect 7 0 4 2;
+#X connect 8 0 4 3;
+#X connect 10 0 9 0;
diff --git a/examples/fluide_mass.pd b/examples/fluide_mass.pd
new file mode 100644
index 0000000..56479b0
--- /dev/null
+++ b/examples/fluide_mass.pd
@@ -0,0 +1,34 @@
+#N canvas 598 312 244 340 10;
+#X msg 39 180 setXY \$1 \$2;
+#X obj 38 26 loadbang;
+#X obj 38 155 pack f f;
+#X obj 36 46 t b b;
+#X obj 57 256 gemhead;
+#X obj 59 318 sphere 0.3;
+#X obj 57 289 translateXYZ;
+#X obj 37 229 unpack s f f;
+#X obj 40 206 mass2D mass 10;
+#X obj 143 24 r reset_mass;
+#X obj 36 70 random 60;
+#X obj 94 70 random 60;
+#X obj 35 90 - 30;
+#X obj 94 96 - 30;
+#X obj 35 119 / 10;
+#X obj 86 123 / 10;
+#X connect 0 0 8 0;
+#X connect 1 0 3 0;
+#X connect 2 0 0 0;
+#X connect 3 0 10 0;
+#X connect 3 1 11 0;
+#X connect 4 0 6 0;
+#X connect 6 0 5 0;
+#X connect 7 1 6 1;
+#X connect 7 2 6 2;
+#X connect 8 0 7 0;
+#X connect 9 0 3 0;
+#X connect 10 0 12 0;
+#X connect 11 0 13 0;
+#X connect 12 0 14 0;
+#X connect 13 0 15 0;
+#X connect 14 0 2 0;
+#X connect 15 0 2 1;
diff --git a/examples/fluide_mass2.pd b/examples/fluide_mass2.pd
new file mode 100644
index 0000000..c6b3ab7
--- /dev/null
+++ b/examples/fluide_mass2.pd
@@ -0,0 +1,138 @@
+#N canvas 120 313 686 433 10;
+#X msg 38 179 setXY \$1 \$2;
+#X obj 396 15 loadbang;
+#X obj 38 155 pack f f;
+#X obj 38 65 t b b;
+#X obj 49 262 gemhead;
+#X obj 49 288 translateXYZ;
+#X obj 38 228 unpack s f f;
+#X obj 38 205 mass2D mass 10;
+#X obj 452 16 r reset_mass;
+#X msg 81 131 0;
+#X obj 49 313 sphere 0.03;
+#X obj 38 88 \$1;
+#X obj 38 110 / 10;
+#X obj 38 132 - 3;
+#X msg 151 180 setXY \$1 \$2;
+#X obj 151 156 pack f f;
+#X obj 151 66 t b b;
+#X obj 162 263 gemhead;
+#X obj 162 289 translateXYZ;
+#X obj 151 229 unpack s f f;
+#X obj 151 206 mass2D mass 10;
+#X obj 162 314 sphere 0.03;
+#X obj 151 89 \$1;
+#X obj 151 111 / 10;
+#X obj 151 133 - 3;
+#X msg 262 180 setXY \$1 \$2;
+#X obj 262 156 pack f f;
+#X obj 262 66 t b b;
+#X obj 273 263 gemhead;
+#X obj 273 289 translateXYZ;
+#X obj 262 229 unpack s f f;
+#X obj 262 206 mass2D mass 10;
+#X obj 273 314 sphere 0.03;
+#X obj 262 89 \$1;
+#X obj 262 111 / 10;
+#X obj 262 133 - 3;
+#X msg 194 132 -1;
+#X msg 305 132 1;
+#X msg 397 184 setXY \$1 \$2;
+#X obj 397 160 pack f f;
+#X obj 397 70 t b b;
+#X obj 408 267 gemhead;
+#X obj 408 293 translateXYZ;
+#X obj 397 233 unpack s f f;
+#X obj 397 210 mass2D mass 10;
+#X obj 408 318 sphere 0.03;
+#X obj 397 93 \$1;
+#X obj 397 115 / 10;
+#X obj 397 137 - 3;
+#X msg 508 184 setXY \$1 \$2;
+#X obj 508 160 pack f f;
+#X obj 508 70 t b b;
+#X obj 519 267 gemhead;
+#X obj 519 293 translateXYZ;
+#X obj 508 233 unpack s f f;
+#X obj 508 210 mass2D mass 10;
+#X obj 519 318 sphere 0.03;
+#X obj 508 93 \$1;
+#X obj 508 115 / 10;
+#X obj 508 137 - 3;
+#X msg 440 136 -0.5;
+#X msg 552 136 0.5;
+#X connect 0 0 7 0;
+#X connect 1 0 3 0;
+#X connect 1 0 16 0;
+#X connect 1 0 27 0;
+#X connect 1 0 40 0;
+#X connect 1 0 51 0;
+#X connect 2 0 0 0;
+#X connect 3 0 11 0;
+#X connect 3 1 9 0;
+#X connect 4 0 5 0;
+#X connect 5 0 10 0;
+#X connect 6 1 5 1;
+#X connect 6 2 5 2;
+#X connect 7 0 6 0;
+#X connect 8 0 3 0;
+#X connect 8 0 16 0;
+#X connect 8 0 27 0;
+#X connect 8 0 40 0;
+#X connect 8 0 51 0;
+#X connect 9 0 2 1;
+#X connect 11 0 12 0;
+#X connect 12 0 13 0;
+#X connect 13 0 2 0;
+#X connect 14 0 20 0;
+#X connect 15 0 14 0;
+#X connect 16 0 22 0;
+#X connect 16 1 36 0;
+#X connect 17 0 18 0;
+#X connect 18 0 21 0;
+#X connect 19 1 18 1;
+#X connect 19 2 18 2;
+#X connect 20 0 19 0;
+#X connect 22 0 23 0;
+#X connect 23 0 24 0;
+#X connect 24 0 15 0;
+#X connect 25 0 31 0;
+#X connect 26 0 25 0;
+#X connect 27 0 33 0;
+#X connect 27 1 37 0;
+#X connect 28 0 29 0;
+#X connect 29 0 32 0;
+#X connect 30 1 29 1;
+#X connect 30 2 29 2;
+#X connect 31 0 30 0;
+#X connect 33 0 34 0;
+#X connect 34 0 35 0;
+#X connect 35 0 26 0;
+#X connect 36 0 15 1;
+#X connect 37 0 26 1;
+#X connect 38 0 44 0;
+#X connect 39 0 38 0;
+#X connect 40 0 46 0;
+#X connect 40 1 60 0;
+#X connect 41 0 42 0;
+#X connect 42 0 45 0;
+#X connect 43 1 42 1;
+#X connect 43 2 42 2;
+#X connect 44 0 43 0;
+#X connect 46 0 47 0;
+#X connect 47 0 48 0;
+#X connect 48 0 39 0;
+#X connect 49 0 55 0;
+#X connect 50 0 49 0;
+#X connect 51 0 57 0;
+#X connect 51 1 61 0;
+#X connect 52 0 53 0;
+#X connect 53 0 56 0;
+#X connect 54 1 53 1;
+#X connect 54 2 53 2;
+#X connect 55 0 54 0;
+#X connect 57 0 58 0;
+#X connect 58 0 59 0;
+#X connect 59 0 50 0;
+#X connect 60 0 39 1;
+#X connect 61 0 50 1;
diff --git a/examples/fluide_mass3.pd b/examples/fluide_mass3.pd
new file mode 100644
index 0000000..acef116
--- /dev/null
+++ b/examples/fluide_mass3.pd
@@ -0,0 +1,17 @@
+#N canvas 598 312 379 296 10;
+#X obj 40 94 gemhead;
+#X obj 40 120 translateXYZ;
+#X obj 20 60 unpack s f f;
+#X obj 40 146 sphere 0.03;
+#X obj 127 88 sel 1;
+#X msg 127 112 \; mass reset \;;
+#X obj 127 65 tSquare2D 6 10 -4 4;
+#X obj 20 37 mass2D mass 100 \$1 \$2;
+#X connect 0 0 1 0;
+#X connect 1 0 3 0;
+#X connect 2 1 1 1;
+#X connect 2 2 1 2;
+#X connect 4 0 5 0;
+#X connect 6 0 4 0;
+#X connect 7 0 2 0;
+#X connect 7 0 6 0;
diff --git a/examples/fluide_mass4.pd b/examples/fluide_mass4.pd
new file mode 100644
index 0000000..02527b9
--- /dev/null
+++ b/examples/fluide_mass4.pd
@@ -0,0 +1,30 @@
+#N canvas 598 312 252 348 10;
+#X msg 39 180 setXY \$1 \$2;
+#X obj 38 26 loadbang;
+#X obj 38 155 pack f f;
+#X obj 36 46 t b b;
+#X obj 57 256 gemhead;
+#X obj 57 289 translateXYZ;
+#X obj 37 229 unpack s f f;
+#X obj 40 206 mass2D mass 10;
+#X obj 143 24 r reset_mass;
+#X msg 92 111 -1;
+#X obj 59 318 sphere 0.03;
+#X obj 36 70 random 10;
+#X obj 38 91 - 5;
+#X obj 36 119 / 2;
+#X connect 0 0 7 0;
+#X connect 1 0 3 0;
+#X connect 2 0 0 0;
+#X connect 3 0 11 0;
+#X connect 3 1 9 0;
+#X connect 4 0 5 0;
+#X connect 5 0 10 0;
+#X connect 6 1 5 1;
+#X connect 6 2 5 2;
+#X connect 7 0 6 0;
+#X connect 8 0 3 0;
+#X connect 9 0 2 1;
+#X connect 11 0 12 0;
+#X connect 12 0 13 0;
+#X connect 13 0 2 0;
diff --git a/examples/fluide_mass5.pd b/examples/fluide_mass5.pd
new file mode 100644
index 0000000..aab5168
--- /dev/null
+++ b/examples/fluide_mass5.pd
@@ -0,0 +1,66 @@
+#N canvas 598 312 512 564 10;
+#X msg 36 169 setXY \$1 \$2;
+#X obj 36 22 loadbang;
+#X obj 36 144 pack f f;
+#X obj 36 46 t b b;
+#X obj 57 246 gemhead;
+#X obj 57 269 translateXYZ;
+#X obj 46 219 unpack s f f;
+#X obj 143 24 r reset_mass;
+#X msg 36 355 setX \$1 \, setY \$2;
+#X obj 36 70 random 20;
+#X obj 36 116 / 4;
+#X obj 102 69 random 20;
+#X obj 102 115 / 4;
+#X obj 36 93 - 10;
+#X obj 102 91 - 10;
+#X obj 12 332 r link;
+#X obj 36 195 mass2D mass 100;
+#X obj 57 293 sphere 0.1;
+#X obj 37 382 iCircle2D mass 0 0 0.0001 0.3 0 0 1;
+#X obj 267 184 unpack s f f f;
+#X obj 389 293 osc~;
+#X obj 389 268 mtof;
+#X obj 389 185 loadbang;
+#X obj 347 357 *~;
+#X obj 346 293 line~;
+#X obj 347 387 dac~;
+#X obj 346 243 *;
+#X obj 389 212 random 60;
+#X msg 346 268 \$1 5;
+#X obj 346 212 * 1;
+#X obj 389 243 + 20;
+#X connect 0 0 16 0;
+#X connect 1 0 3 0;
+#X connect 2 0 0 0;
+#X connect 3 0 9 0;
+#X connect 3 1 11 0;
+#X connect 4 0 5 0;
+#X connect 5 0 17 0;
+#X connect 6 1 5 1;
+#X connect 6 2 5 2;
+#X connect 7 0 3 0;
+#X connect 8 0 18 0;
+#X connect 9 0 13 0;
+#X connect 10 0 2 0;
+#X connect 11 0 14 0;
+#X connect 12 0 2 1;
+#X connect 13 0 10 0;
+#X connect 14 0 12 0;
+#X connect 15 0 18 0;
+#X connect 16 0 6 0;
+#X connect 16 0 8 0;
+#X connect 16 1 19 0;
+#X connect 19 3 29 0;
+#X connect 20 0 23 1;
+#X connect 21 0 20 0;
+#X connect 22 0 27 0;
+#X connect 23 0 25 0;
+#X connect 23 0 25 1;
+#X connect 24 0 23 0;
+#X connect 26 0 28 0;
+#X connect 27 0 30 0;
+#X connect 28 0 24 0;
+#X connect 29 0 26 0;
+#X connect 29 0 26 1;
+#X connect 30 0 21 0;
diff --git a/examples/fluide_mass6.pd b/examples/fluide_mass6.pd
new file mode 100644
index 0000000..f7b06c8
--- /dev/null
+++ b/examples/fluide_mass6.pd
@@ -0,0 +1,17 @@
+#N canvas 598 312 379 296 10;
+#X obj 40 94 gemhead;
+#X obj 40 120 translateXYZ;
+#X obj 20 60 unpack s f f;
+#X obj 40 146 sphere 0.03;
+#X obj 127 88 sel 1;
+#X msg 127 112 \; mass reset \;;
+#X obj 127 65 tSquare2D 6 10 -4 4;
+#X obj 20 37 mass2D mass 0 \$1 \$2;
+#X connect 0 0 1 0;
+#X connect 1 0 3 0;
+#X connect 2 1 1 1;
+#X connect 2 2 1 2;
+#X connect 4 0 5 0;
+#X connect 6 0 4 0;
+#X connect 7 0 2 0;
+#X connect 7 0 6 0;
diff --git a/examples/fluide_masse.pd b/examples/fluide_masse.pd
new file mode 100644
index 0000000..f8bfa11
--- /dev/null
+++ b/examples/fluide_masse.pd
@@ -0,0 +1,34 @@
+#N canvas 598 312 244 340 10;
+#X msg 39 180 setXY \$1 \$2;
+#X obj 38 26 loadbang;
+#X obj 38 155 pack f f;
+#X obj 36 46 t b b;
+#X obj 57 256 gemhead;
+#X obj 59 318 sphere 0.3;
+#X obj 57 289 translateXYZ;
+#X obj 37 229 unpack s f f;
+#X obj 40 206 masse2D masse 10;
+#X obj 143 24 r reset_masse;
+#X obj 36 70 random 60;
+#X obj 94 70 random 60;
+#X obj 35 90 - 30;
+#X obj 94 96 - 30;
+#X obj 35 119 / 10;
+#X obj 86 123 / 10;
+#X connect 0 0 8 0;
+#X connect 1 0 3 0;
+#X connect 2 0 0 0;
+#X connect 3 0 10 0;
+#X connect 3 1 11 0;
+#X connect 4 0 6 0;
+#X connect 6 0 5 0;
+#X connect 7 1 6 1;
+#X connect 7 2 6 2;
+#X connect 8 0 7 0;
+#X connect 9 0 3 0;
+#X connect 10 0 12 0;
+#X connect 11 0 13 0;
+#X connect 12 0 14 0;
+#X connect 13 0 15 0;
+#X connect 14 0 2 0;
+#X connect 15 0 2 1;
diff --git a/examples/fluide_masse2.pd b/examples/fluide_masse2.pd
new file mode 100644
index 0000000..dee927b
--- /dev/null
+++ b/examples/fluide_masse2.pd
@@ -0,0 +1,138 @@
+#N canvas 120 313 686 433 10;
+#X msg 38 179 setXY \$1 \$2;
+#X obj 396 15 loadbang;
+#X obj 38 155 pack f f;
+#X obj 38 65 t b b;
+#X obj 49 262 gemhead;
+#X obj 49 288 translateXYZ;
+#X obj 38 228 unpack s f f;
+#X obj 38 205 masse2D masse 10;
+#X obj 452 16 r reset_masse;
+#X msg 81 131 0;
+#X obj 49 313 sphere 0.03;
+#X obj 38 88 \$1;
+#X obj 38 110 / 10;
+#X obj 38 132 - 3;
+#X msg 151 180 setXY \$1 \$2;
+#X obj 151 156 pack f f;
+#X obj 151 66 t b b;
+#X obj 162 263 gemhead;
+#X obj 162 289 translateXYZ;
+#X obj 151 229 unpack s f f;
+#X obj 151 206 masse2D masse 10;
+#X obj 162 314 sphere 0.03;
+#X obj 151 89 \$1;
+#X obj 151 111 / 10;
+#X obj 151 133 - 3;
+#X msg 262 180 setXY \$1 \$2;
+#X obj 262 156 pack f f;
+#X obj 262 66 t b b;
+#X obj 273 263 gemhead;
+#X obj 273 289 translateXYZ;
+#X obj 262 229 unpack s f f;
+#X obj 262 206 masse2D masse 10;
+#X obj 273 314 sphere 0.03;
+#X obj 262 89 \$1;
+#X obj 262 111 / 10;
+#X obj 262 133 - 3;
+#X msg 194 132 -1;
+#X msg 305 132 1;
+#X msg 397 184 setXY \$1 \$2;
+#X obj 397 160 pack f f;
+#X obj 397 70 t b b;
+#X obj 408 267 gemhead;
+#X obj 408 293 translateXYZ;
+#X obj 397 233 unpack s f f;
+#X obj 397 210 masse2D masse 10;
+#X obj 408 318 sphere 0.03;
+#X obj 397 93 \$1;
+#X obj 397 115 / 10;
+#X obj 397 137 - 3;
+#X msg 508 184 setXY \$1 \$2;
+#X obj 508 160 pack f f;
+#X obj 508 70 t b b;
+#X obj 519 267 gemhead;
+#X obj 519 293 translateXYZ;
+#X obj 508 233 unpack s f f;
+#X obj 508 210 masse2D masse 10;
+#X obj 519 318 sphere 0.03;
+#X obj 508 93 \$1;
+#X obj 508 115 / 10;
+#X obj 508 137 - 3;
+#X msg 440 136 -0.5;
+#X msg 552 136 0.5;
+#X connect 0 0 7 0;
+#X connect 1 0 3 0;
+#X connect 1 0 16 0;
+#X connect 1 0 27 0;
+#X connect 1 0 40 0;
+#X connect 1 0 51 0;
+#X connect 2 0 0 0;
+#X connect 3 0 11 0;
+#X connect 3 1 9 0;
+#X connect 4 0 5 0;
+#X connect 5 0 10 0;
+#X connect 6 1 5 1;
+#X connect 6 2 5 2;
+#X connect 7 0 6 0;
+#X connect 8 0 3 0;
+#X connect 8 0 16 0;
+#X connect 8 0 27 0;
+#X connect 8 0 40 0;
+#X connect 8 0 51 0;
+#X connect 9 0 2 1;
+#X connect 11 0 12 0;
+#X connect 12 0 13 0;
+#X connect 13 0 2 0;
+#X connect 14 0 20 0;
+#X connect 15 0 14 0;
+#X connect 16 0 22 0;
+#X connect 16 1 36 0;
+#X connect 17 0 18 0;
+#X connect 18 0 21 0;
+#X connect 19 1 18 1;
+#X connect 19 2 18 2;
+#X connect 20 0 19 0;
+#X connect 22 0 23 0;
+#X connect 23 0 24 0;
+#X connect 24 0 15 0;
+#X connect 25 0 31 0;
+#X connect 26 0 25 0;
+#X connect 27 0 33 0;
+#X connect 27 1 37 0;
+#X connect 28 0 29 0;
+#X connect 29 0 32 0;
+#X connect 30 1 29 1;
+#X connect 30 2 29 2;
+#X connect 31 0 30 0;
+#X connect 33 0 34 0;
+#X connect 34 0 35 0;
+#X connect 35 0 26 0;
+#X connect 36 0 15 1;
+#X connect 37 0 26 1;
+#X connect 38 0 44 0;
+#X connect 39 0 38 0;
+#X connect 40 0 46 0;
+#X connect 40 1 60 0;
+#X connect 41 0 42 0;
+#X connect 42 0 45 0;
+#X connect 43 1 42 1;
+#X connect 43 2 42 2;
+#X connect 44 0 43 0;
+#X connect 46 0 47 0;
+#X connect 47 0 48 0;
+#X connect 48 0 39 0;
+#X connect 49 0 55 0;
+#X connect 50 0 49 0;
+#X connect 51 0 57 0;
+#X connect 51 1 61 0;
+#X connect 52 0 53 0;
+#X connect 53 0 56 0;
+#X connect 54 1 53 1;
+#X connect 54 2 53 2;
+#X connect 55 0 54 0;
+#X connect 57 0 58 0;
+#X connect 58 0 59 0;
+#X connect 59 0 50 0;
+#X connect 60 0 39 1;
+#X connect 61 0 50 1;
diff --git a/examples/fluide_masse3.pd b/examples/fluide_masse3.pd
new file mode 100644
index 0000000..f339fab
--- /dev/null
+++ b/examples/fluide_masse3.pd
@@ -0,0 +1,17 @@
+#N canvas 598 312 379 296 10;
+#X obj 40 94 gemhead;
+#X obj 40 120 translateXYZ;
+#X obj 20 60 unpack s f f;
+#X obj 40 146 sphere 0.03;
+#X obj 127 88 sel 1;
+#X msg 127 112 \; masse reset \;;
+#X obj 127 65 tSquare2D 6 10 -4 4;
+#X obj 20 37 masse2D masse 100 \$1 \$2;
+#X connect 0 0 1 0;
+#X connect 1 0 3 0;
+#X connect 2 1 1 1;
+#X connect 2 2 1 2;
+#X connect 4 0 5 0;
+#X connect 6 0 4 0;
+#X connect 7 0 2 0;
+#X connect 7 0 6 0;
diff --git a/examples/fluide_masse4.pd b/examples/fluide_masse4.pd
new file mode 100644
index 0000000..60c1d9f
--- /dev/null
+++ b/examples/fluide_masse4.pd
@@ -0,0 +1,30 @@
+#N canvas 598 312 252 348 10;
+#X msg 39 180 setXY \$1 \$2;
+#X obj 38 26 loadbang;
+#X obj 38 155 pack f f;
+#X obj 36 46 t b b;
+#X obj 57 256 gemhead;
+#X obj 57 289 translateXYZ;
+#X obj 37 229 unpack s f f;
+#X obj 40 206 masse2D masse 10;
+#X obj 143 24 r reset_masse;
+#X msg 92 111 -1;
+#X obj 59 318 sphere 0.03;
+#X obj 36 70 random 10;
+#X obj 38 91 - 5;
+#X obj 36 119 / 2;
+#X connect 0 0 7 0;
+#X connect 1 0 3 0;
+#X connect 2 0 0 0;
+#X connect 3 0 11 0;
+#X connect 3 1 9 0;
+#X connect 4 0 5 0;
+#X connect 5 0 10 0;
+#X connect 6 1 5 1;
+#X connect 6 2 5 2;
+#X connect 7 0 6 0;
+#X connect 8 0 3 0;
+#X connect 9 0 2 1;
+#X connect 11 0 12 0;
+#X connect 12 0 13 0;
+#X connect 13 0 2 0;
diff --git a/examples/fluide_masse5.pd b/examples/fluide_masse5.pd
new file mode 100644
index 0000000..b2bc219
--- /dev/null
+++ b/examples/fluide_masse5.pd
@@ -0,0 +1,66 @@
+#N canvas 598 312 512 564 10;
+#X msg 36 169 setXY \$1 \$2;
+#X obj 36 22 loadbang;
+#X obj 36 144 pack f f;
+#X obj 36 46 t b b;
+#X obj 57 246 gemhead;
+#X obj 57 269 translateXYZ;
+#X obj 46 219 unpack s f f;
+#X obj 143 24 r reset_masse;
+#X msg 36 355 setX \$1 \, setY \$2;
+#X obj 36 70 random 20;
+#X obj 36 116 / 4;
+#X obj 102 69 random 20;
+#X obj 102 115 / 4;
+#X obj 36 93 - 10;
+#X obj 102 91 - 10;
+#X obj 12 332 r link;
+#X obj 36 195 masse2D masse 100;
+#X obj 57 293 sphere 0.1;
+#X obj 37 382 iCircle2D masse 0 0 0.0001 0.3 0 0 1;
+#X obj 267 184 unpack s f f f;
+#X obj 389 293 osc~;
+#X obj 389 268 mtof;
+#X obj 389 185 loadbang;
+#X obj 347 357 *~;
+#X obj 346 293 line~;
+#X obj 347 387 dac~;
+#X obj 346 243 *;
+#X obj 389 212 random 60;
+#X msg 346 268 \$1 5;
+#X obj 346 212 * 1;
+#X obj 389 243 + 20;
+#X connect 0 0 16 0;
+#X connect 1 0 3 0;
+#X connect 2 0 0 0;
+#X connect 3 0 9 0;
+#X connect 3 1 11 0;
+#X connect 4 0 5 0;
+#X connect 5 0 17 0;
+#X connect 6 1 5 1;
+#X connect 6 2 5 2;
+#X connect 7 0 3 0;
+#X connect 8 0 18 0;
+#X connect 9 0 13 0;
+#X connect 10 0 2 0;
+#X connect 11 0 14 0;
+#X connect 12 0 2 1;
+#X connect 13 0 10 0;
+#X connect 14 0 12 0;
+#X connect 15 0 18 0;
+#X connect 16 0 6 0;
+#X connect 16 0 8 0;
+#X connect 16 1 19 0;
+#X connect 19 3 29 0;
+#X connect 20 0 23 1;
+#X connect 21 0 20 0;
+#X connect 22 0 27 0;
+#X connect 23 0 25 0;
+#X connect 23 0 25 1;
+#X connect 24 0 23 0;
+#X connect 26 0 28 0;
+#X connect 27 0 30 0;
+#X connect 28 0 24 0;
+#X connect 29 0 26 0;
+#X connect 29 0 26 1;
+#X connect 30 0 21 0;
diff --git a/examples/fluide_masse6.pd b/examples/fluide_masse6.pd
new file mode 100644
index 0000000..1cf6a9a
--- /dev/null
+++ b/examples/fluide_masse6.pd
@@ -0,0 +1,17 @@
+#N canvas 598 312 379 296 10;
+#X obj 40 94 gemhead;
+#X obj 40 120 translateXYZ;
+#X obj 20 60 unpack s f f;
+#X obj 40 146 sphere 0.03;
+#X obj 127 88 sel 1;
+#X msg 127 112 \; masse reset \;;
+#X obj 127 65 tSquare2D 6 10 -4 4;
+#X obj 20 37 masse2D masse 0 \$1 \$2;
+#X connect 0 0 1 0;
+#X connect 1 0 3 0;
+#X connect 2 1 1 1;
+#X connect 2 2 1 2;
+#X connect 4 0 5 0;
+#X connect 6 0 4 0;
+#X connect 7 0 2 0;
+#X connect 7 0 6 0;
diff --git a/examples/game_line.pd b/examples/game_line.pd
new file mode 100644
index 0000000..ee29813
--- /dev/null
+++ b/examples/game_line.pd
@@ -0,0 +1,70 @@
+#N canvas 734 65 656 713 10;
+#X obj 43 227 gemhead;
+#X obj 43 257 curve 2;
+#X obj 70 28 inlet;
+#X obj 100 123 \$1;
+#X obj 108 94 loadbang;
+#X obj 65 195 pack f f 0;
+#X obj 196 33 inlet;
+#X obj 191 200 pack f f 0;
+#X obj 182 160 - 0.5;
+#X obj 280 243 gemhead;
+#X obj 280 273 curve 2;
+#X obj 337 139 \$1;
+#X obj 345 110 loadbang;
+#X obj 292 207 pack f f 0;
+#X obj 428 216 pack f f 0;
+#X obj 460 185 - 0.5;
+#X msg 67 339 setX1 \$1 \, setY1 \$2;
+#X msg 89 364 setX2 \$1 \, setY2 \$2;
+#X msg 329 331 setX1 \$1 \, setY1 \$2;
+#X msg 368 364 setX2 \$1 \, setY2 \$2;
+#X obj 83 464 s inside;
+#X obj 224 366 r space_ship;
+#X obj 78 441 sel 1;
+#X obj 79 407 tSeg2D 0 0 0 0 3;
+#X obj 341 399 tSeg2D 0 0 0 0 3;
+#X obj 290 168 - 3;
+#X obj 469 129 - 3;
+#X obj 231 475 r bounce;
+#X obj 400 542 iSeg2D bomb 0 0 0 0 3 1;
+#X obj 191 544 iSeg2D bomb 0 0 0 0 3 1;
+#X connect 0 0 1 0;
+#X connect 2 0 5 0;
+#X connect 2 0 25 0;
+#X connect 3 0 8 0;
+#X connect 3 0 5 1;
+#X connect 4 0 3 0;
+#X connect 5 0 1 1;
+#X connect 5 0 17 0;
+#X connect 6 0 7 0;
+#X connect 6 0 26 0;
+#X connect 7 0 1 2;
+#X connect 7 0 16 0;
+#X connect 8 0 7 1;
+#X connect 9 0 10 0;
+#X connect 11 0 15 0;
+#X connect 11 0 13 1;
+#X connect 12 0 11 0;
+#X connect 13 0 10 1;
+#X connect 13 0 18 0;
+#X connect 14 0 10 2;
+#X connect 14 0 19 0;
+#X connect 15 0 14 1;
+#X connect 16 0 23 0;
+#X connect 16 0 29 0;
+#X connect 17 0 23 0;
+#X connect 17 0 29 0;
+#X connect 18 0 24 0;
+#X connect 18 0 28 0;
+#X connect 19 0 24 0;
+#X connect 19 0 28 0;
+#X connect 21 0 23 0;
+#X connect 21 0 24 0;
+#X connect 22 0 20 0;
+#X connect 23 0 22 0;
+#X connect 24 0 22 0;
+#X connect 25 0 13 0;
+#X connect 26 0 14 0;
+#X connect 27 0 28 0;
+#X connect 27 0 29 0;
diff --git a/examples/gemLia.pd b/examples/gemLia.pd
new file mode 100644
index 0000000..97e0a64
--- /dev/null
+++ b/examples/gemLia.pd
@@ -0,0 +1,21 @@
+#N canvas 0 0 397 255 12;
+#X obj 249 24 inlet;
+#X obj 249 77 outlet;
+#X obj 86 23 inlet;
+#X obj 86 78 outlet;
+#X msg 123 111 \$1 \$2 \$3;
+#X msg 271 106 \$1 \$2 \$3;
+#X obj 98 202 curve 2;
+#X obj 98 145 r gemhead;
+#X obj 98 174 separator;
+#X obj 86 51 link3D lia \$1 \$2 \$3 \$4;
+#X connect 0 0 5 0;
+#X connect 0 0 9 1;
+#X connect 2 0 4 0;
+#X connect 2 0 9 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 2;
+#X connect 7 0 8 0;
+#X connect 8 0 6 0;
+#X connect 9 0 3 0;
+#X connect 9 1 1 0;
diff --git a/examples/gemLia2.pd b/examples/gemLia2.pd
new file mode 100644
index 0000000..96adc97
--- /dev/null
+++ b/examples/gemLia2.pd
@@ -0,0 +1,10 @@
+#N canvas 0 0 401 259 12;
+#X obj 249 24 inlet;
+#X obj 249 77 outlet;
+#X obj 86 23 inlet;
+#X obj 86 78 outlet;
+#X obj 86 51 link3D lia \$1 \$2 \$3 \$4;
+#X connect 0 0 4 1;
+#X connect 2 0 4 0;
+#X connect 4 0 3 0;
+#X connect 4 1 1 0;
diff --git a/examples/gemMasse.pd b/examples/gemMasse.pd
new file mode 100644
index 0000000..643876d
--- /dev/null
+++ b/examples/gemMasse.pd
@@ -0,0 +1,18 @@
+#N canvas 615 387 345 312 12;
+#X obj 25 38 inlet;
+#X obj 26 100 outlet;
+#X obj 75 228 translateXYZ 0 0 0;
+#X obj 75 256 sphere 0.3;
+#X obj 75 168 r gemhead;
+#X obj 75 197 separator;
+#X obj 86 100 unpack s f f f;
+#X obj 26 70 mass3D masse \$1 \$2 \$3 \$4;
+#X connect 0 0 7 0;
+#X connect 2 0 3 0;
+#X connect 4 0 5 0;
+#X connect 5 0 2 0;
+#X connect 6 1 2 1;
+#X connect 6 2 2 2;
+#X connect 6 3 2 3;
+#X connect 7 0 1 0;
+#X connect 7 0 6 0;
diff --git a/examples/gemMasse2.pd b/examples/gemMasse2.pd
new file mode 100644
index 0000000..8eece35
--- /dev/null
+++ b/examples/gemMasse2.pd
@@ -0,0 +1,12 @@
+#N canvas 705 218 349 316 12;
+#X obj 25 38 inlet;
+#X obj 25 100 outlet;
+#X obj 86 100 unpack s f f f;
+#X obj 121 131 pack f f f \$2 \$3;
+#X obj 25 70 mass3D masse2 \$1 \$2 \$3 \$4;
+#X connect 0 0 4 0;
+#X connect 2 1 3 0;
+#X connect 2 2 3 1;
+#X connect 2 3 3 2;
+#X connect 4 0 1 0;
+#X connect 4 0 2 0;
diff --git a/examples/gemMasse3.pd b/examples/gemMasse3.pd
new file mode 100644
index 0000000..2e44a2e
--- /dev/null
+++ b/examples/gemMasse3.pd
@@ -0,0 +1,27 @@
+#N canvas 615 387 353 320 12;
+#X obj 26 39 inlet;
+#X obj 26 100 outlet;
+#X obj 86 100 unpack s f f f;
+#X obj 26 70 masse3D masse \$1 \$2 \$3 \$4;
+#X msg 121 156 set \$4 \$5 \$1 \$2 \$3;
+#X obj 121 185 send curve3d;
+#X obj 248 64 - 1;
+#X obj 121 129 pack f f f f f;
+#X obj 248 38 \$2;
+#X obj 248 12 loadbang;
+#X obj 283 65 - 1;
+#X obj 283 39 \$3;
+#X connect 0 0 3 0;
+#X connect 2 1 7 0;
+#X connect 2 2 7 1;
+#X connect 2 3 7 2;
+#X connect 3 0 1 0;
+#X connect 3 0 2 0;
+#X connect 4 0 5 0;
+#X connect 6 0 7 3;
+#X connect 7 0 4 0;
+#X connect 8 0 6 0;
+#X connect 9 0 8 0;
+#X connect 9 0 11 0;
+#X connect 10 0 7 4;
+#X connect 11 0 10 0;
diff --git a/examples/i3D.pd b/examples/i3D.pd
new file mode 100644
index 0000000..e65eef4
--- /dev/null
+++ b/examples/i3D.pd
@@ -0,0 +1,21 @@
+#N canvas 693 514 332 321 10;
+#X obj 54 109 link3D link 0;
+#X obj 54 60 pack \$2 \$3 \$4;
+#X obj 145 109 mass3D mass 10 \$2 \$3 \$4;
+#X obj 54 36 loadbang;
+#X obj 148 166 gemhead;
+#X obj 145 138 unpack s f f f;
+#X obj 148 192 translateXYZ;
+#X obj 148 217 sphere 0.1;
+#X msg 54 84 position3D \$1 \$2 \$3;
+#X connect 0 1 2 0;
+#X connect 1 0 8 0;
+#X connect 2 0 0 1;
+#X connect 2 0 5 0;
+#X connect 3 0 1 0;
+#X connect 4 0 6 0;
+#X connect 5 1 6 1;
+#X connect 5 2 6 2;
+#X connect 5 3 6 3;
+#X connect 6 0 7 0;
+#X connect 8 0 0 0;
diff --git a/examples/i3D2.pd b/examples/i3D2.pd
new file mode 100644
index 0000000..5966eb5
--- /dev/null
+++ b/examples/i3D2.pd
@@ -0,0 +1,83 @@
+#N canvas 404 182 802 500 10;
+#X obj 613 302 mass3D mass 10 \$2 \$3 \$4;
+#X obj 54 36 loadbang;
+#X obj 616 359 gemhead;
+#X obj 613 331 unpack s f f f;
+#X obj 616 385 translateXYZ;
+#X obj 619 421 sphere 0.1;
+#X obj 190 36 loadbang;
+#X obj 321 38 loadbang;
+#X msg 320 247 position3D \$1 \$2 \$3;
+#X obj 453 32 loadbang;
+#X msg 452 241 position3D \$1 \$2 \$3;
+#X obj 53 270 link3D link1 0;
+#X obj 189 270 link3D link2 0;
+#X obj 320 272 link3D link3 0;
+#X obj 453 267 link3D link4 0;
+#X obj 190 60 \$1;
+#X msg 189 245 position3D \$1 0 0;
+#X obj 188 113 / 20;
+#X obj 453 56 \$1;
+#X obj 479 145 sin;
+#X obj 452 78 / 124;
+#X obj 451 101 * 6.28;
+#X obj 454 144 cos;
+#X obj 451 169 pack f f 0;
+#X obj 452 120 t f f;
+#X obj 79 177 sin;
+#X obj 53 133 * 6.28;
+#X obj 54 176 cos;
+#X obj 54 201 pack f f 0;
+#X obj 54 152 t f f;
+#X obj 54 110 / 25;
+#X obj 54 60 pack \$1;
+#X obj 54 84 t f f;
+#X msg 53 245 position3D \$2 \$3 \$1;
+#X obj 321 62 pack \$2 \$3 \$4;
+#X obj 111 178 / 50;
+#X obj 188 83 - 70;
+#X connect 0 0 3 0;
+#X connect 0 0 11 1;
+#X connect 0 0 12 1;
+#X connect 0 0 13 1;
+#X connect 0 0 14 1;
+#X connect 1 0 31 0;
+#X connect 2 0 4 0;
+#X connect 3 1 4 1;
+#X connect 3 2 4 2;
+#X connect 3 3 4 3;
+#X connect 4 0 5 0;
+#X connect 6 0 15 0;
+#X connect 7 0 34 0;
+#X connect 8 0 13 0;
+#X connect 9 0 18 0;
+#X connect 10 0 14 0;
+#X connect 11 1 0 0;
+#X connect 12 1 0 0;
+#X connect 13 1 0 0;
+#X connect 14 1 0 0;
+#X connect 15 0 36 0;
+#X connect 16 0 12 0;
+#X connect 17 0 16 0;
+#X connect 18 0 20 0;
+#X connect 19 0 23 1;
+#X connect 20 0 21 0;
+#X connect 21 0 24 0;
+#X connect 22 0 23 0;
+#X connect 23 0 10 0;
+#X connect 24 0 22 0;
+#X connect 24 1 19 0;
+#X connect 25 0 28 1;
+#X connect 26 0 29 0;
+#X connect 27 0 28 0;
+#X connect 28 0 33 0;
+#X connect 29 0 27 0;
+#X connect 29 1 25 0;
+#X connect 30 0 26 0;
+#X connect 31 0 32 0;
+#X connect 32 0 30 0;
+#X connect 32 1 35 0;
+#X connect 33 0 11 0;
+#X connect 34 0 8 0;
+#X connect 35 0 28 2;
+#X connect 36 0 17 0;
diff --git a/examples/mass_link.pd b/examples/mass_link.pd
new file mode 100644
index 0000000..1120e2e
--- /dev/null
+++ b/examples/mass_link.pd
@@ -0,0 +1,82 @@
+#N canvas 726 205 509 623 10;
+#X obj 255 447 translateXYZ 0 0 0;
+#X obj 254 353 unpack s f f f;
+#X obj 14 24 inlet;
+#X obj 14 45 t b a;
+#X obj 149 527 outlet;
+#X obj 276 118 unpack s f f f;
+#X obj 307 142 + 0;
+#X obj 307 166 f;
+#X obj 291 192 f;
+#X obj 340 143 + 0;
+#X obj 340 167 f;
+#X obj 324 193 f;
+#X obj 372 146 + 0;
+#X obj 372 170 f;
+#X obj 361 194 f;
+#X obj 252 226 pack f f f;
+#X msg 253 257 force3D \$1 \$2 \$3;
+#X obj 262 28 r lia;
+#X obj 401 43 r r_lia;
+#X obj 264 53 t b b b;
+#X msg 401 117 0 0;
+#X obj 144 426 r masse3;
+#X obj 145 467 pack 0 f f f;
+#X msg 142 497 position3D \$2 \$3 \$4;
+#X obj 137 326 r gemhead;
+#X obj 139 350 separator;
+#X obj 286 418 / 3;
+#X obj 318 416 / 3;
+#X obj 350 415 / 3;
+#X obj 255 475 sphere 0.2;
+#X obj 140 373 color 1 1 1;
+#X obj 14 72 link3D link 1 1 0 0.5;
+#X obj 254 330 mass3D masse 1 \$1 \$2 \$3;
+#X connect 0 0 29 0;
+#X connect 1 1 22 1;
+#X connect 1 1 26 0;
+#X connect 1 2 22 2;
+#X connect 1 2 27 0;
+#X connect 1 3 22 3;
+#X connect 1 3 28 0;
+#X connect 2 0 3 0;
+#X connect 3 0 31 0;
+#X connect 3 1 31 0;
+#X connect 5 1 6 0;
+#X connect 5 2 9 0;
+#X connect 5 3 12 0;
+#X connect 6 0 7 0;
+#X connect 7 0 6 1;
+#X connect 7 0 8 1;
+#X connect 8 0 15 0;
+#X connect 9 0 10 0;
+#X connect 10 0 9 1;
+#X connect 10 0 11 1;
+#X connect 11 0 15 1;
+#X connect 12 0 13 0;
+#X connect 13 0 12 1;
+#X connect 13 0 14 1;
+#X connect 14 0 15 2;
+#X connect 15 0 16 0;
+#X connect 16 0 32 0;
+#X connect 17 0 19 0;
+#X connect 18 0 20 0;
+#X connect 19 0 20 0;
+#X connect 19 1 8 0;
+#X connect 19 2 14 0;
+#X connect 19 2 11 0;
+#X connect 20 0 12 0;
+#X connect 20 0 9 0;
+#X connect 20 0 6 0;
+#X connect 21 0 22 0;
+#X connect 22 0 23 0;
+#X connect 23 0 4 0;
+#X connect 24 0 25 0;
+#X connect 25 0 30 0;
+#X connect 26 0 0 1;
+#X connect 27 0 0 2;
+#X connect 28 0 0 3;
+#X connect 30 0 0 0;
+#X connect 31 1 5 0;
+#X connect 32 0 1 0;
+#X connect 32 0 31 1;
diff --git a/examples/mass_link2.pd b/examples/mass_link2.pd
new file mode 100644
index 0000000..f03bdb0
--- /dev/null
+++ b/examples/mass_link2.pd
@@ -0,0 +1,24 @@
+#N canvas 792 238 341 264 10;
+#X obj 112 80 unpack s f f f;
+#X obj 15 171 outlet;
+#X obj 98 202 translateXYZ 0 0 0;
+#X obj 99 226 sphere 0.3;
+#X obj 93 120 r gemhead;
+#X obj 95 144 separator;
+#X obj 129 173 / 3;
+#X obj 161 171 / 3;
+#X obj 193 170 / 3;
+#X obj 66 11 inlet;
+#X obj 112 57 mass3D masse2 1 \$1 \$2 \$3;
+#X connect 0 1 6 0;
+#X connect 0 2 7 0;
+#X connect 0 3 8 0;
+#X connect 2 0 3 0;
+#X connect 4 0 5 0;
+#X connect 5 0 2 0;
+#X connect 6 0 2 1;
+#X connect 7 0 2 2;
+#X connect 8 0 2 3;
+#X connect 9 0 10 0;
+#X connect 10 0 0 0;
+#X connect 10 0 1 0;
diff --git a/examples/mass_link3.pd b/examples/mass_link3.pd
new file mode 100644
index 0000000..3a5f5a9
--- /dev/null
+++ b/examples/mass_link3.pd
@@ -0,0 +1,90 @@
+#N canvas 726 205 515 629 10;
+#X obj 255 447 translateXYZ 0 0 0;
+#X obj 254 353 unpack s f f f;
+#X obj 14 24 inlet;
+#X obj 14 45 t b a;
+#X obj 149 527 outlet;
+#X obj 276 118 unpack s f f f;
+#X obj 307 142 + 0;
+#X obj 307 166 f;
+#X obj 291 192 f;
+#X obj 340 143 + 0;
+#X obj 340 167 f;
+#X obj 324 193 f;
+#X obj 372 146 + 0;
+#X obj 372 170 f;
+#X obj 361 194 f;
+#X obj 252 226 pack f f f;
+#X msg 253 257 force3D \$1 \$2 \$3;
+#X obj 262 28 r lia;
+#X obj 401 43 r r_lia;
+#X obj 264 53 t b b b;
+#X msg 401 117 0 0;
+#X obj 144 426 r masse3;
+#X obj 145 467 pack 0 f f f;
+#X msg 142 497 position3D \$2 \$3 \$4;
+#X obj 137 326 r gemhead;
+#X obj 139 350 separator;
+#X obj 286 418 / 3;
+#X obj 318 416 / 3;
+#X obj 350 415 / 3;
+#X obj 255 475 sphere 0.2;
+#X obj 140 373 color 1 1 1;
+#X obj 66 87 inlet;
+#X obj 66 108 t b a;
+#X obj 14 72 link3D link 1 1 0 0.5;
+#X obj 66 135 link3D link2 1 1 0 0.5;
+#X obj 254 330 mass3D masse 1 \$2 \$3 \$4;
+#X connect 0 0 29 0;
+#X connect 1 1 22 1;
+#X connect 1 1 26 0;
+#X connect 1 2 22 2;
+#X connect 1 2 27 0;
+#X connect 1 3 22 3;
+#X connect 1 3 28 0;
+#X connect 2 0 3 0;
+#X connect 3 0 33 0;
+#X connect 3 1 33 0;
+#X connect 5 1 6 0;
+#X connect 5 2 9 0;
+#X connect 5 3 12 0;
+#X connect 6 0 7 0;
+#X connect 7 0 6 1;
+#X connect 7 0 8 1;
+#X connect 8 0 15 0;
+#X connect 9 0 10 0;
+#X connect 10 0 9 1;
+#X connect 10 0 11 1;
+#X connect 11 0 15 1;
+#X connect 12 0 13 0;
+#X connect 13 0 12 1;
+#X connect 13 0 14 1;
+#X connect 14 0 15 2;
+#X connect 15 0 16 0;
+#X connect 16 0 35 0;
+#X connect 17 0 19 0;
+#X connect 18 0 20 0;
+#X connect 19 0 20 0;
+#X connect 19 1 8 0;
+#X connect 19 2 14 0;
+#X connect 19 2 11 0;
+#X connect 20 0 12 0;
+#X connect 20 0 9 0;
+#X connect 20 0 6 0;
+#X connect 21 0 22 0;
+#X connect 22 0 23 0;
+#X connect 23 0 4 0;
+#X connect 24 0 25 0;
+#X connect 25 0 30 0;
+#X connect 26 0 0 1;
+#X connect 27 0 0 2;
+#X connect 28 0 0 3;
+#X connect 30 0 0 0;
+#X connect 31 0 32 0;
+#X connect 32 0 34 0;
+#X connect 32 1 34 0;
+#X connect 33 1 5 0;
+#X connect 34 1 5 0;
+#X connect 35 0 1 0;
+#X connect 35 0 33 1;
+#X connect 35 0 34 1;
diff --git a/examples/mountain.pd b/examples/mountain.pd
new file mode 100644
index 0000000..b9c0467
--- /dev/null
+++ b/examples/mountain.pd
@@ -0,0 +1,156 @@
+#N canvas 122 226 1064 780 10;
+#X obj 25 24 inlet;
+#X obj 134 33 inlet;
+#X obj 21 215 outlet;
+#X obj 134 217 outlet;
+#X obj 221 34 inlet;
+#X obj 221 218 outlet;
+#X obj 274 208 gemhead;
+#X obj 274 289 translateXYZ;
+#X obj 274 337 sphere 0.2;
+#X obj 296 256 \$2;
+#X obj 296 231 loadbang;
+#X obj 318 256 \$4;
+#X obj 341 142 mass M 22;
+#X obj 301 312 r size;
+#X obj 501 587 primTri 0 0 0;
+#X obj 500 233 t b f;
+#X obj 524 324 t b f;
+#X obj 537 562 pack \$2 \$4 f;
+#X obj 537 539 t b f;
+#X obj 535 190 \$2;
+#X obj 535 165 loadbang;
+#X obj 557 190 \$4;
+#X obj 499 260 pack f f f;
+#X obj 524 391 pack f f f;
+#X obj 590 222 - 1;
+#X obj 614 221 - 1;
+#X obj 501 501 gemhead;
+#X obj 501 473 &&;
+#X msg 562 440 0;
+#X obj 562 419 loadbang;
+#X msg 529 440 1;
+#X msg 501 440 1;
+#X obj 628 140 inlet;
+#X obj 706 650 primTri 0 0 0;
+#X obj 706 259 t b f;
+#X obj 730 350 t b f;
+#X obj 895 410 t b f;
+#X obj 797 224 \$2;
+#X obj 741 191 loadbang;
+#X obj 819 224 \$4;
+#X obj 705 286 pack f f f;
+#X obj 730 417 pack f f f;
+#X obj 796 248 - 1;
+#X obj 820 247 - 1;
+#X obj 706 580 gemhead;
+#X obj 707 499 &&;
+#X msg 768 466 0;
+#X obj 768 445 loadbang;
+#X msg 735 466 1;
+#X msg 707 466 1;
+#X obj 731 537 &&;
+#X msg 771 505 1;
+#X obj 742 625 pack f f f;
+#X obj 224 89 link L 0 1 0.1 0.1;
+#X obj 135 58 link L 0 1 0.1 0.1;
+#X obj 87 380 \$2;
+#X obj 124 427 moses 3;
+#X obj 124 449 t b;
+#X obj 161 518 moses 3;
+#X obj 124 471 \$4;
+#X obj 88 354 r init;
+#X obj 87 403 moses 0;
+#X obj 124 494 moses -1;
+#X msg 161 541 5;
+#X connect 0 0 12 0;
+#X connect 1 0 31 0;
+#X connect 1 0 15 0;
+#X connect 1 0 49 0;
+#X connect 1 0 34 0;
+#X connect 1 0 54 0;
+#X connect 4 0 30 0;
+#X connect 4 0 16 0;
+#X connect 4 0 48 0;
+#X connect 4 0 35 0;
+#X connect 4 0 53 0;
+#X connect 6 0 7 0;
+#X connect 7 0 8 0;
+#X connect 9 0 7 1;
+#X connect 10 0 9 0;
+#X connect 10 0 11 0;
+#X connect 11 0 7 2;
+#X connect 12 0 2 0;
+#X connect 12 0 7 3;
+#X connect 12 0 18 0;
+#X connect 12 0 53 1;
+#X connect 12 0 54 1;
+#X connect 13 0 8 1;
+#X connect 15 0 22 0;
+#X connect 15 1 22 2;
+#X connect 16 0 23 0;
+#X connect 16 1 23 2;
+#X connect 17 0 14 3;
+#X connect 18 0 17 0;
+#X connect 18 1 17 2;
+#X connect 19 0 24 0;
+#X connect 19 0 23 0;
+#X connect 20 0 19 0;
+#X connect 20 0 21 0;
+#X connect 21 0 22 1;
+#X connect 21 0 25 0;
+#X connect 22 0 14 1;
+#X connect 23 0 14 2;
+#X connect 24 0 22 0;
+#X connect 25 0 23 1;
+#X connect 26 0 14 0;
+#X connect 27 0 26 0;
+#X connect 28 0 27 1;
+#X connect 28 0 27 0;
+#X connect 29 0 28 0;
+#X connect 30 0 27 1;
+#X connect 31 0 27 0;
+#X connect 32 0 36 0;
+#X connect 32 0 51 0;
+#X connect 34 0 40 0;
+#X connect 34 1 40 2;
+#X connect 35 0 41 0;
+#X connect 35 1 41 2;
+#X connect 36 0 52 0;
+#X connect 36 1 52 2;
+#X connect 37 0 42 0;
+#X connect 37 0 41 0;
+#X connect 38 0 37 0;
+#X connect 38 0 39 0;
+#X connect 39 0 40 1;
+#X connect 39 0 43 0;
+#X connect 40 0 33 1;
+#X connect 41 0 33 2;
+#X connect 42 0 40 0;
+#X connect 42 0 52 0;
+#X connect 43 0 41 1;
+#X connect 43 0 52 1;
+#X connect 44 0 33 0;
+#X connect 45 0 50 0;
+#X connect 46 0 45 1;
+#X connect 46 0 45 0;
+#X connect 46 0 50 1;
+#X connect 47 0 46 0;
+#X connect 48 0 45 1;
+#X connect 49 0 45 0;
+#X connect 50 0 44 0;
+#X connect 51 0 50 1;
+#X connect 52 0 33 3;
+#X connect 53 0 5 0;
+#X connect 53 1 12 0;
+#X connect 54 0 3 0;
+#X connect 54 1 12 0;
+#X connect 55 0 61 0;
+#X connect 56 0 57 0;
+#X connect 57 0 59 0;
+#X connect 58 0 63 0;
+#X connect 59 0 62 0;
+#X connect 60 0 55 0;
+#X connect 61 1 56 0;
+#X connect 62 1 58 0;
+#X connect 63 0 12 0;
diff --git a/examples/pd_lia.pd b/examples/pd_lia.pd
new file mode 100644
index 0000000..1e450d8
--- /dev/null
+++ b/examples/pd_lia.pd
@@ -0,0 +1,19 @@
+#N canvas 587 514 328 282 12;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X msg 134 155 \$1 \$2 0;
+#X obj 26 210 curve 2;
+#X obj 45 61 link2D \$1-lia 0 10 2.5 0.001;
+#X connect 0 0 6 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 7 1;
+#X connect 5 0 7 0;
+#X connect 6 0 7 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
diff --git a/examples/pd_lia2.pd b/examples/pd_lia2.pd
new file mode 100644
index 0000000..b6f9b7e
--- /dev/null
+++ b/examples/pd_lia2.pd
@@ -0,0 +1,19 @@
+#N canvas 587 514 324 278 12;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 lia2D \$1-lia2 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
diff --git a/examples/pd_link.pd b/examples/pd_link.pd
new file mode 100644
index 0000000..a74712b
--- /dev/null
+++ b/examples/pd_link.pd
@@ -0,0 +1,19 @@
+#N canvas 587 514 328 282 12;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$1-link 0 10 2.5 0.001;
+#X obj 26 210 curve 2;
+#X connect 0 0 6 0;
+#X connect 0 0 7 1;
+#X connect 2 0 4 0;
+#X connect 2 0 7 0;
+#X connect 4 0 8 1;
+#X connect 5 0 8 0;
+#X connect 6 0 8 2;
+#X connect 7 0 3 0;
+#X connect 7 1 1 0;
diff --git a/examples/pd_link2.pd b/examples/pd_link2.pd
new file mode 100644
index 0000000..820d3ef
--- /dev/null
+++ b/examples/pd_link2.pd
@@ -0,0 +1,19 @@
+#N canvas 587 514 324 278 12;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$1-link2 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
diff --git a/examples/pd_mass.pd b/examples/pd_mass.pd
new file mode 100644
index 0000000..ca74731
--- /dev/null
+++ b/examples/pd_mass.pd
@@ -0,0 +1,44 @@
+#N canvas 645 0 656 389 12;
+#X obj 26 38 inlet;
+#X obj 11 137 outlet;
+#X obj 25 104 unpack s f f;
+#X obj 62 165 gemhead;
+#X obj 59 206 translateXYZ;
+#X obj 25 71 mass2D \$3-mass 50 \$1 \$2 -3.8 3.8 -3.8 3.8;
+#X obj 257 105 unpack s f f f;
+#X obj 438 233 osc~;
+#X obj 438 208 mtof;
+#X obj 438 133 loadbang;
+#X obj 364 275 *~;
+#X msg 364 209 \$1 50;
+#X obj 364 234 line~;
+#X obj 364 305 dac~;
+#X obj 438 183 + 30;
+#X obj 438 159 random 60;
+#X obj 442 29 inlet;
+#X msg 442 53 0;
+#X obj 364 183 min 0.1;
+#X obj 364 130 * 0.03;
+#X obj 56 248 sphere 0.1;
+#X connect 0 0 5 0;
+#X connect 2 1 4 1;
+#X connect 2 2 4 2;
+#X connect 3 0 4 0;
+#X connect 4 0 20 0;
+#X connect 5 0 2 0;
+#X connect 5 0 1 0;
+#X connect 5 1 6 0;
+#X connect 6 3 19 0;
+#X connect 7 0 10 1;
+#X connect 8 0 7 0;
+#X connect 9 0 15 0;
+#X connect 10 0 13 0;
+#X connect 10 0 13 1;
+#X connect 11 0 12 0;
+#X connect 12 0 10 0;
+#X connect 14 0 8 0;
+#X connect 15 0 14 0;
+#X connect 16 0 17 0;
+#X connect 17 0 18 1;
+#X connect 18 0 11 0;
+#X connect 19 0 18 0;
diff --git a/examples/pd_mass2.pd b/examples/pd_mass2.pd
new file mode 100644
index 0000000..4942661
--- /dev/null
+++ b/examples/pd_mass2.pd
@@ -0,0 +1,15 @@
+#N canvas 500 206 486 336 12;
+#X obj 26 38 inlet;
+#X obj 11 137 outlet;
+#X obj 25 104 unpack s f f;
+#X obj 285 48 gemhead;
+#X obj 284 89 translateXYZ;
+#X obj 281 131 sphere 0.1;
+#X obj 25 71 mass2D \$3-mass2 50 \$1 \$2;
+#X connect 0 0 6 0;
+#X connect 2 1 4 1;
+#X connect 2 2 4 2;
+#X connect 3 0 4 0;
+#X connect 4 0 5 0;
+#X connect 6 0 2 0;
+#X connect 6 0 1 0;
diff --git a/examples/pd_masse.pd b/examples/pd_masse.pd
new file mode 100644
index 0000000..d3130da
--- /dev/null
+++ b/examples/pd_masse.pd
@@ -0,0 +1,46 @@
+#N canvas 264 97 656 389 12;
+#X obj 26 38 inlet;
+#X obj 11 137 outlet;
+#X obj 25 104 unpack s f f;
+#X obj 62 165 gemhead;
+#X obj 25 71 mass2D \$3-mass 50 \$1 \$2 -3.8 3.8 -3.8 3.8;
+#X obj 257 105 unpack s f f f;
+#X obj 438 233 osc~;
+#X obj 438 208 mtof;
+#X obj 438 133 loadbang;
+#X obj 364 275 *~;
+#X msg 364 209 \$1 50;
+#X obj 364 234 line~;
+#X obj 363 336 dac~;
+#X obj 438 183 + 30;
+#X obj 438 159 random 60;
+#X obj 442 29 inlet;
+#X msg 442 53 0;
+#X obj 364 183 min 0.1;
+#X obj 364 130 * 0.03;
+#X obj 59 206 translateXYZ 0 0 0;
+#X obj 56 248 sphere 0.1;
+#X obj 364 301 *~ 0.3;
+#X connect 0 0 4 0;
+#X connect 2 1 19 1;
+#X connect 2 2 19 2;
+#X connect 3 0 19 0;
+#X connect 4 0 2 0;
+#X connect 4 0 1 0;
+#X connect 4 1 5 0;
+#X connect 5 3 18 0;
+#X connect 6 0 9 1;
+#X connect 7 0 6 0;
+#X connect 8 0 14 0;
+#X connect 9 0 21 0;
+#X connect 10 0 11 0;
+#X connect 11 0 9 0;
+#X connect 13 0 7 0;
+#X connect 14 0 13 0;
+#X connect 15 0 16 0;
+#X connect 16 0 17 1;
+#X connect 17 0 10 0;
+#X connect 18 0 17 0;
+#X connect 19 0 20 0;
+#X connect 21 0 12 1;
+#X connect 21 0 12 0;
diff --git a/examples/pd_masse2.pd b/examples/pd_masse2.pd
new file mode 100644
index 0000000..fdc2e4e
--- /dev/null
+++ b/examples/pd_masse2.pd
@@ -0,0 +1,15 @@
+#N canvas 500 206 486 336 12;
+#X obj 26 38 inlet;
+#X obj 11 137 outlet;
+#X obj 25 104 unpack s f f;
+#X obj 285 48 gemhead;
+#X obj 284 89 translateXYZ;
+#X obj 281 131 sphere 0.1;
+#X obj 25 71 masse2D \$3-masse2 50 \$1 \$2;
+#X connect 0 0 6 0;
+#X connect 2 1 4 1;
+#X connect 2 2 4 2;
+#X connect 3 0 4 0;
+#X connect 4 0 5 0;
+#X connect 6 0 2 0;
+#X connect 6 0 1 0;
diff --git a/examples/rain.pd b/examples/rain.pd
new file mode 100644
index 0000000..085eb93
--- /dev/null
+++ b/examples/rain.pd
@@ -0,0 +1,16 @@
+#N canvas 571 315 266 261 10;
+#X obj 33 161 gemhead;
+#X obj 33 187 translateXYZ;
+#X obj 25 39 loadbang;
+#X obj 25 85 mass3D mass 1 0 3;
+#X obj 25 108 unpack s f f f;
+#X obj 33 211 sphere 0.05;
+#X msg 25 62 setYmin -3 \, setT 1;
+#X connect 0 0 1 0;
+#X connect 1 0 5 0;
+#X connect 2 0 6 0;
+#X connect 3 0 4 0;
+#X connect 4 1 1 1;
+#X connect 4 2 1 2;
+#X connect 4 3 1 3;
+#X connect 6 0 3 0;
diff --git a/examples/rain1.pd b/examples/rain1.pd
new file mode 100644
index 0000000..8c9c477
--- /dev/null
+++ b/examples/rain1.pd
@@ -0,0 +1,16 @@
+#N canvas 571 315 262 257 10;
+#X obj 33 161 gemhead;
+#X obj 33 187 translateXYZ;
+#X obj 25 39 loadbang;
+#X msg 25 62 setYmin -3;
+#X obj 25 85 mass3D mass 1 0 3;
+#X obj 25 108 unpack s f f f;
+#X obj 33 211 sphere 0.05;
+#X connect 0 0 1 0;
+#X connect 1 0 6 0;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 4 0 5 0;
+#X connect 5 1 1 1;
+#X connect 5 2 1 2;
+#X connect 5 3 1 3;
diff --git a/examples/sand.pd b/examples/sand.pd
new file mode 100644
index 0000000..99f21a5
--- /dev/null
+++ b/examples/sand.pd
@@ -0,0 +1,30 @@
+#N canvas 816 466 423 346 10;
+#X obj 45 142 gemhead;
+#X obj 45 168 translateXYZ;
+#X obj 25 108 unpack s f f;
+#X obj 25 85 mass2D mass 1 \$1 \$2;
+#X msg 37 259 setX \$1 \, setY \$2;
+#X obj 13 236 r link;
+#X obj 25 39 loadbang;
+#X msg 175 155 1 0 0;
+#X obj 175 23 inlet;
+#X obj 45 191 color 1 1 1;
+#X obj 45 212 circle 0.05;
+#X obj 85 40 r reset;
+#X obj 34 289 iCircle2D mass 0 0 1e-04 0.15 0 0 0.3 0 0 0 0.31;
+#X msg 25 62 setYmin -3 \, setYmax 13 \, setXmin -3 \, setXmax 3 \,
+setT 0.9;
+#X connect 0 0 1 0;
+#X connect 1 0 9 0;
+#X connect 2 1 1 1;
+#X connect 2 2 1 2;
+#X connect 3 0 2 0;
+#X connect 3 0 4 0;
+#X connect 4 0 12 0;
+#X connect 5 0 12 0;
+#X connect 6 0 13 0;
+#X connect 7 0 9 1;
+#X connect 8 0 7 0;
+#X connect 9 0 10 0;
+#X connect 11 0 13 0;
+#X connect 13 0 3 0;
diff --git a/examples/smoke.pd b/examples/smoke.pd
new file mode 100644
index 0000000..28aef88
--- /dev/null
+++ b/examples/smoke.pd
@@ -0,0 +1,55 @@
+#N canvas 830 39 529 709 10;
+#X obj 143 288 gemhead;
+#X obj 143 311 translateXYZ;
+#X obj 69 197 unpack s f f;
+#X msg 49 484 setX \$1 \, setY \$2;
+#X obj 24 296 r link;
+#X obj 143 335 sphere 0.05;
+#X msg 59 45 off;
+#X obj 139 21 r reset_smoke;
+#X obj 59 15 loadbang;
+#X obj 139 48 sel \$1;
+#X obj 199 50 r reset_all;
+#X obj 268 369 spigot;
+#X msg 294 327 0;
+#X msg 327 330 1;
+#X msg 191 97 off;
+#X obj 196 74 t b b b;
+#X obj 53 458 pack f f;
+#X obj 327 250 delay 1000;
+#X obj 54 511 iCircle2D mass 0 0 0.1 10 0 0 0 0 0 0 0 0 0 -1e-005
+;
+#X obj 190 254 / 10;
+#X obj 155 249 / 10;
+#X msg 157 130 on \, reset \, setXY 0 -35;
+#X obj 53 427 - 0;
+#X obj 61 173 mass2D mass 1 0 -35;
+#X connect 0 0 1 0;
+#X connect 1 0 5 0;
+#X connect 2 1 20 0;
+#X connect 2 1 22 0;
+#X connect 2 2 16 1;
+#X connect 2 2 19 0;
+#X connect 3 0 18 0;
+#X connect 4 0 11 0;
+#X connect 6 0 23 0;
+#X connect 7 0 9 0;
+#X connect 8 0 6 0;
+#X connect 8 0 12 0;
+#X connect 9 0 21 0;
+#X connect 9 0 17 0;
+#X connect 10 0 15 0;
+#X connect 11 0 18 0;
+#X connect 12 0 11 1;
+#X connect 13 0 11 1;
+#X connect 14 0 23 0;
+#X connect 15 0 14 0;
+#X connect 15 1 21 0;
+#X connect 15 2 12 0;
+#X connect 16 0 3 0;
+#X connect 17 0 13 0;
+#X connect 19 0 1 2;
+#X connect 20 0 1 1;
+#X connect 21 0 23 0;
+#X connect 22 0 16 0;
+#X connect 23 0 2 0;
diff --git a/examples/smoke1.pd b/examples/smoke1.pd
new file mode 100644
index 0000000..92d7270
--- /dev/null
+++ b/examples/smoke1.pd
@@ -0,0 +1,32 @@
+#N canvas 830 39 365 388 10;
+#X obj 80 254 gemhead;
+#X obj 80 277 translateXYZ;
+#X obj 69 197 unpack s f f;
+#X obj 80 301 sphere 0.05;
+#X msg 59 45 off;
+#X obj 139 21 r reset_smoke;
+#X obj 59 15 loadbang;
+#X obj 139 48 sel \$1;
+#X obj 199 50 r reset_all;
+#X msg 191 97 off;
+#X obj 196 74 t b b b;
+#X obj 136 224 / 10;
+#X obj 102 224 / 10;
+#X obj 61 173 mass2D mass 1 0 -35;
+#X msg 157 130 on \, reset \, setXY 0 -35;
+#X connect 0 0 1 0;
+#X connect 1 0 3 0;
+#X connect 2 1 12 0;
+#X connect 2 2 11 0;
+#X connect 4 0 13 0;
+#X connect 5 0 7 0;
+#X connect 6 0 4 0;
+#X connect 7 0 14 0;
+#X connect 8 0 10 0;
+#X connect 9 0 13 0;
+#X connect 10 0 9 0;
+#X connect 10 1 14 0;
+#X connect 11 0 1 2;
+#X connect 12 0 1 1;
+#X connect 13 0 2 0;
+#X connect 14 0 13 0;
diff --git a/examples/smoke_vortex.pd b/examples/smoke_vortex.pd
new file mode 100644
index 0000000..eb2bdea
--- /dev/null
+++ b/examples/smoke_vortex.pd
@@ -0,0 +1,41 @@
+#N canvas 0 0 460 532 10;
+#X obj 66 303 line;
+#X obj 137 305 line;
+#X obj 67 331 pack;
+#X msg 69 359 setX \$1 \, setY \$2;
+#X obj 71 3 loadbang;
+#X obj 24 38 r link;
+#X obj 67 146 randomF 80;
+#X obj 138 148 randomF 80;
+#X obj 137 172 - 40;
+#X obj 66 170 - 40;
+#X obj 65 234 pack f f;
+#X obj 67 95 metro 8000;
+#X msg 158 254 -50 \, 50 8000;
+#X obj 73 75 delay;
+#X obj 71 28 t b b;
+#X obj 99 54 random 8000;
+#X obj 25 389 iCircle2D mass 0 0 0.1 50 0 0 0 0 0 \$1;
+#X obj 144 8 r reset_all;
+#X msg 67 257 \$1 \, \$2 500000;
+#X connect 0 0 2 0;
+#X connect 1 0 2 1;
+#X connect 2 0 3 0;
+#X connect 3 0 16 0;
+#X connect 4 0 14 0;
+#X connect 5 0 16 0;
+#X connect 6 0 9 0;
+#X connect 7 0 8 0;
+#X connect 8 0 10 1;
+#X connect 9 0 10 0;
+#X connect 10 0 18 0;
+#X connect 11 0 6 0;
+#X connect 11 0 7 0;
+#X connect 11 0 12 0;
+#X connect 12 0 1 0;
+#X connect 13 0 11 0;
+#X connect 14 0 13 0;
+#X connect 14 1 15 0;
+#X connect 15 0 13 1;
+#X connect 17 0 14 0;
+#X connect 18 0 0 0;
diff --git a/examples/tut_link.pd b/examples/tut_link.pd
new file mode 100644
index 0000000..3dd9769
--- /dev/null
+++ b/examples/tut_link.pd
@@ -0,0 +1,19 @@
+#N canvas 0 0 454 304 10;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D tut_link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
diff --git a/examples/tut_mass.pd b/examples/tut_mass.pd
new file mode 100644
index 0000000..4106fa5
--- /dev/null
+++ b/examples/tut_mass.pd
@@ -0,0 +1,15 @@
+#N canvas 0 0 416 404 10;
+#X obj 40 110 inlet;
+#X obj 25 209 outlet;
+#X obj 39 176 unpack s f f;
+#X obj 114 224 gemhead;
+#X obj 113 265 translateXYZ;
+#X obj 110 307 sphere 0.1;
+#X obj 38 137 mass2D tut_mass 50 \$1 \$2;
+#X connect 0 0 6 0;
+#X connect 2 1 4 1;
+#X connect 2 2 4 2;
+#X connect 3 0 4 0;
+#X connect 4 0 5 0;
+#X connect 6 0 2 0;
+#X connect 6 0 1 0;
diff --git a/examples/tut_masse.pd b/examples/tut_masse.pd
new file mode 100644
index 0000000..05d523e
--- /dev/null
+++ b/examples/tut_masse.pd
@@ -0,0 +1,15 @@
+#N canvas 0 0 416 404 10;
+#X obj 40 110 inlet;
+#X obj 25 209 outlet;
+#X obj 39 176 unpack s f f;
+#X obj 114 224 gemhead;
+#X obj 113 265 translateXYZ;
+#X obj 110 307 sphere 0.1;
+#X obj 38 137 masse2D tut_masse 50 \$1 \$2;
+#X connect 0 0 6 0;
+#X connect 2 1 4 1;
+#X connect 2 2 4 2;
+#X connect 3 0 4 0;
+#X connect 4 0 5 0;
+#X connect 6 0 2 0;
+#X connect 6 0 1 0;
diff --git a/examples/vortex.pd b/examples/vortex.pd
new file mode 100644
index 0000000..64a1cbc
--- /dev/null
+++ b/examples/vortex.pd
@@ -0,0 +1,26 @@
+#N canvas 844 114 502 389 10;
+#X obj 77 177 gemhead;
+#X obj 77 200 translateXYZ;
+#X obj 66 150 unpack s f f;
+#X msg 56 285 setX \$1 \, setY \$2;
+#X obj 23 262 r link;
+#X obj 58 15 r mass2;
+#X msg 54 61 bang;
+#X msg 94 66 reset;
+#X obj 60 36 t b b;
+#X obj 56 126 mass2D mass 0 \$1;
+#X obj 77 224 sphere 0.05;
+#X obj 56 312 iCircle2D mass 0 0 1e-006 10 0 0 0 0 0 0 0 0 0 0.0001
+;
+#X connect 0 0 1 0;
+#X connect 1 0 10 0;
+#X connect 2 1 1 1;
+#X connect 2 2 1 2;
+#X connect 3 0 11 0;
+#X connect 4 0 11 0;
+#X connect 5 0 8 0;
+#X connect 7 0 9 0;
+#X connect 8 0 6 0;
+#X connect 8 1 7 0;
+#X connect 9 0 2 0;
+#X connect 9 0 3 0;
diff --git a/examples/vortex2.pd b/examples/vortex2.pd
new file mode 100644
index 0000000..3cfa5a2
--- /dev/null
+++ b/examples/vortex2.pd
@@ -0,0 +1,53 @@
+#N canvas 703 127 516 799 10;
+#X obj 85 424 gemhead;
+#X obj 85 447 translateXYZ;
+#X obj 74 397 unpack s f f;
+#X msg 64 532 setX \$1 \, setY \$2;
+#X obj 31 509 r link;
+#X obj 64 30 loadbang;
+#X obj 64 166 cos;
+#X obj 64 110 * 3.14159;
+#X obj 88 167 sin;
+#X obj 63 317 pack f f;
+#X msg 64 343 setXY \$1 \$2;
+#X obj 132 29 r mass2;
+#X obj 64 59 random 360;
+#X obj 64 85 / 180;
+#X obj 135 176 random 100;
+#X obj 272 167 random 100;
+#X obj 64 135 t f f b;
+#X obj 124 227 *;
+#X obj 149 272 *;
+#X obj 85 471 sphere 0.05;
+#X obj 271 190 / 50;
+#X obj 137 202 / 100;
+#X obj 64 373 mass2D mass 0;
+#X obj 64 559 iCircle2D mass 0 0 1e-006 10 0 0 0 0 0 0 0 0 0 0.0001
+;
+#X connect 0 0 1 0;
+#X connect 1 0 19 0;
+#X connect 2 1 1 1;
+#X connect 2 2 1 2;
+#X connect 3 0 23 0;
+#X connect 4 0 23 0;
+#X connect 5 0 12 0;
+#X connect 6 0 18 0;
+#X connect 7 0 16 0;
+#X connect 8 0 17 0;
+#X connect 9 0 10 0;
+#X connect 10 0 22 0;
+#X connect 11 0 12 0;
+#X connect 12 0 13 0;
+#X connect 13 0 7 0;
+#X connect 14 0 21 0;
+#X connect 15 0 20 0;
+#X connect 16 0 6 0;
+#X connect 16 1 8 0;
+#X connect 16 2 14 0;
+#X connect 16 2 15 0;
+#X connect 17 0 9 1;
+#X connect 18 0 9 0;
+#X connect 20 0 18 1;
+#X connect 21 0 17 1;
+#X connect 22 0 2 0;
+#X connect 22 0 3 0;