diff --git a/test b/test
deleted file mode 100644
index e85c9c4..0000000
--- a/test
+++ /dev/null
@@ -1,10 +0,0 @@
-load signal/sinus
-load portaudio/output
-
-let Osc00 = new signal/sinus
-let Output = new portaudio/output
-bind Osc00 signal Output left
-bind Osc00 signal Output right
-buffer 0
-buffer 1
-start
diff --git a/test/glfw3_oscilloscope b/test/glfw3_oscilloscope
new file mode 100644
index 0000000..2b1e950
--- /dev/null
+++ b/test/glfw3_oscilloscope
@@ -0,0 +1,9 @@
+load signal/sinus
+load signal/square
+load glfw3/oscilloscope
+let sin00 = new signal/sinus
+let sq00 = new signal/square
+let osc00 = new glfw3/oscilloscope
+bind sin00 signal osc00 black
+bind sq00 signal osc00 red
+start
diff --git a/test/sinus b/test/sinus
new file mode 100644
index 0000000..1c3f238
--- /dev/null
+++ b/test/sinus
@@ -0,0 +1,6 @@
+load signal/sinus
+let sinus00 = new signal/sinus
+load portaudio/output
+let output00 = new portaudio/output
+bind sinus00 signal output00 left
+bind sinus00 signal output00 right
diff --git a/test/sndio b/test/sndio
new file mode 100644
index 0000000..9dbcead
--- /dev/null
+++ b/test/sndio
@@ -0,0 +1,10 @@
+load signal/sinus
+load sndio/output
+
+let Osc00 = new signal/sinus
+let Output = new sndio/output
+bind Osc00 signal Output left
+bind Osc00 signal Output right
+buffer 0
+buffer 1
+start
diff --git a/test/synth b/test/synth
new file mode 100644
index 0000000..c754747
--- /dev/null
+++ b/test/synth
@@ -0,0 +1,23 @@
+load glfw3/keyboard
+let Keyboard00 = new glfw3/keyboard 100 100
+
+load synth/adsr
+let ADSR00 = new synth/adsr 300 300
+
+load signal/sinus
+let Osc00 = new signal/sinus 300 800
+
+load synth/synth
+let Synth00 = new synth/synth 1000 100
+
+bind Keyboard00 notes Synth00 notes
+bind ADSR00 signal Synth00 envelope
+bind Osc00 signal Synth00 oscillator
+
+load portaudio/output
+let Output = new portaudio/output 1600 100
+
+bind Synth00 signal Output left
+bind Synth00 signal Output right
+
+start
diff --git a/test/synth_bandpass2 b/test/synth_bandpass2
new file mode 100644
index 0000000..53909f6
--- /dev/null
+++ b/test/synth_bandpass2
@@ -0,0 +1,21 @@
+load glfw3/keyboard
+let Keyboard00 = new glfw3/keyboard
+load synth/adsr
+let ADSR00 = new synth/adsr
+load signal/sinus
+let Osc00 = new signal/sinus
+load synth/synth
+let Synth00 = new synth/synth
+bind Keyboard00 notes Synth00 notes
+bind ADSR00 signal Synth00 envelope
+bind Osc00 signal Synth00 oscillator
+
+load signal/bandpass2
+let Fx00 = new signal/bandpass2
+bind Synth00 signal Fx00 signal
+
+load portaudio/output
+let Output = new portaudio/output
+bind Synth00 signal Output left
+bind Fx00 signal Output right
+start
diff --git a/test/synth_delay b/test/synth_delay
new file mode 100644
index 0000000..0e8819f
--- /dev/null
+++ b/test/synth_delay
@@ -0,0 +1,22 @@
+
+load glfw3/keyboard
+let Keyboard00 = new glfw3/keyboard
+load synth/adsr
+let ADSR00 = new synth/adsr
+load signal/sinus
+let Osc00 = new signal/sinus
+load synth/synth
+let Synth00 = new synth/synth
+bind Keyboard00 notes Synth00 notes
+bind ADSR00 signal Synth00 envelope
+bind Osc00 signal Synth00 oscillator
+
+load signal/delay
+let Fx00 = new signal/delay
+bind Synth00 signal Fx00 signal
+
+load portaudio/output
+let Output = new portaudio/output
+bind Synth00 signal Output left
+bind Fx00 signal Output right
+start
diff --git a/test/synth_eq10 b/test/synth_eq10
new file mode 100644
index 0000000..0638033
--- /dev/null
+++ b/test/synth_eq10
@@ -0,0 +1,43 @@
+load glfw3/keyboard
+let Keyboard00 = new glfw3/keyboard
+load synth/adsr
+let ADSR00 = new synth/adsr
+load signal/sawtooth
+let Osc00 = new signal/sawtooth
+load synth/synth
+let Synth00 = new synth/synth
+bind Keyboard00 notes Synth00 notes
+bind ADSR00 signal Synth00 envelope
+bind Osc00 signal Synth00 oscillator
+
+load signal/delay
+let Delay00 = new signal/delay
+bind Synth00 signal Delay00 signal
+
+load signal/flanger
+let Flanger00 = new signal/flanger
+bind Delay00 signal Flanger00 signal
+
+load signal/lowpass5
+let LP00 = new signal/lowpass5
+bind Flanger00 signal LP00 signal
+
+load dynamic/limiter
+let Limiter00 = new dynamic/limiter
+bind LP00 signal Limiter00 signal
+
+let Flanger01 = new signal/flanger
+bind Synth00 signal Flanger01 signal
+
+load signal/equalizer10
+let EQ00 = new signal/equalizer10
+bind Flanger01 signal EQ00 signal
+
+let Limiter01 = new dynamic/limiter
+bind EQ00 signal Limiter01 signal
+
+load portaudio/output
+let Output = new portaudio/output
+bind Limiter00 signal Output left
+bind Limiter01 signal Output right
+start
diff --git a/test/synth_filters b/test/synth_filters
new file mode 100644
index 0000000..9ea16a5
--- /dev/null
+++ b/test/synth_filters
@@ -0,0 +1,44 @@
+
+load glfw3/keyboard
+let Keyboard00 = new glfw3/keyboard
+load synth/adsr
+let ADSR00 = new synth/adsr
+load signal/square
+let Square00 = new signal/square
+load synth/synth
+let Synth00 = new synth/synth
+bind Keyboard00 notes Synth00 notes
+bind ADSR00 signal Synth00 envelope
+bind Square00 signal Synth00 oscillator
+
+load signal/delay
+let Delay00 = new signal/delay
+bind Synth00 signal Delay00 signal
+
+load signal/flanger
+let Flanger00 = new signal/flanger
+bind Delay00 signal Flanger00 signal
+
+load signal/lowpass5
+let LP00 = new signal/lowpass5
+bind Flanger00 signal LP00 signal
+
+load dynamic/limiter
+let Limiter00 = new dynamic/limiter
+bind LP00 signal Limiter00 signal
+
+let Flanger01 = new signal/flanger
+bind Synth00 signal Flanger01 signal
+
+load signal/bandpass2
+let HP01 = new signal/bandpass2
+bind Flanger01 signal HP01 signal
+
+let Limiter01 = new dynamic/limiter
+bind HP01 signal Limiter01 signal
+
+load portaudio/output
+let Output = new portaudio/output
+bind Limiter01 signal Output left
+bind Limiter00 signal Output right
+start
diff --git a/test/synth_flanger b/test/synth_flanger
new file mode 100644
index 0000000..61a445f
--- /dev/null
+++ b/test/synth_flanger
@@ -0,0 +1,22 @@
+
+load glfw3/keyboard
+let Keyboard00 = new glfw3/keyboard
+load synth/adsr
+let ADSR00 = new synth/adsr
+load signal/sinus
+let Osc00 = new signal/sinus
+load synth/synth
+let Synth00 = new synth/synth
+bind Keyboard00 notes Synth00 notes
+bind ADSR00 signal Synth00 envelope
+bind Osc00 signal Synth00 oscillator
+
+load signal/flanger
+let Fx00 = new signal/flanger
+bind Synth00 signal Fx00 signal
+
+load portaudio/output
+let Output = new portaudio/output
+bind Synth00 signal Output left
+bind Fx00 signal Output right
+start
diff --git a/test/synth_limiter b/test/synth_limiter
new file mode 100644
index 0000000..c26480b
--- /dev/null
+++ b/test/synth_limiter
@@ -0,0 +1,22 @@
+
+load glfw3/keyboard
+let Keyboard00 = new glfw3/keyboard
+load synth/adsr
+let ADSR00 = new synth/adsr
+load signal/sinus
+let Osc00 = new signal/sinus
+load synth/synth
+let Synth00 = new synth/synth
+bind Keyboard00 notes Synth00 notes
+bind ADSR00 signal Synth00 envelope
+bind Osc00 signal Synth00 oscillator
+
+load dynamic/limiter
+let Fx00 = new dynamic/limiter
+bind Synth00 signal Fx00 signal
+
+load portaudio/output
+let Output = new portaudio/output
+bind Synth00 signal Output left
+bind Fx00 signal Output right
+start
diff --git a/test/synth_lowpass5 b/test/synth_lowpass5
new file mode 100644
index 0000000..b512cb7
--- /dev/null
+++ b/test/synth_lowpass5
@@ -0,0 +1,21 @@
+load glfw3/keyboard
+let Keyboard00 = new glfw3/keyboard
+load synth/adsr
+let ADSR00 = new synth/adsr
+load signal/sinus
+let Osc00 = new signal/sinus
+load synth/synth
+let Synth00 = new synth/synth
+bind Keyboard00 notes Synth00 notes
+bind ADSR00 signal Synth00 envelope
+bind Osc00 signal Synth00 oscillator
+
+load signal/lowpass5
+let Fx00 = new signal/lowpass5
+bind Synth00 signal Fx00 signal
+
+load portaudio/output
+let Output = new portaudio/output
+bind Synth00 signal Output left
+bind Fx00 signal Output right
+start
diff --git a/test_glfw3_oscilloscope b/test_glfw3_oscilloscope
deleted file mode 100644
index 2b1e950..0000000
--- a/test_glfw3_oscilloscope
+++ /dev/null
@@ -1,9 +0,0 @@
-load signal/sinus
-load signal/square
-load glfw3/oscilloscope
-let sin00 = new signal/sinus
-let sq00 = new signal/square
-let osc00 = new glfw3/oscilloscope
-bind sin00 signal osc00 black
-bind sq00 signal osc00 red
-start
diff --git a/test_sinus b/test_sinus
deleted file mode 100644
index 1c3f238..0000000
--- a/test_sinus
+++ /dev/null
@@ -1,6 +0,0 @@
-load signal/sinus
-let sinus00 = new signal/sinus
-load portaudio/output
-let output00 = new portaudio/output
-bind sinus00 signal output00 left
-bind sinus00 signal output00 right
diff --git a/test_sndio b/test_sndio
deleted file mode 100644
index 9dbcead..0000000
--- a/test_sndio
+++ /dev/null
@@ -1,10 +0,0 @@
-load signal/sinus
-load sndio/output
-
-let Osc00 = new signal/sinus
-let Output = new sndio/output
-bind Osc00 signal Output left
-bind Osc00 signal Output right
-buffer 0
-buffer 1
-start
diff --git a/test_synth b/test_synth
deleted file mode 100644
index 1dd268c..0000000
--- a/test_synth
+++ /dev/null
@@ -1,18 +0,0 @@
-
-load glfw3/keyboard
-let Keyboard00 = new glfw3/keyboard
-load synth/adsr
-let ADSR00 = new synth/adsr
-load signal/sinus
-let Osc00 = new signal/sinus
-load synth/synth
-let Synth00 = new synth/synth
-bind Keyboard00 notes Synth00 notes
-bind ADSR00 signal Synth00 envelope
-bind Osc00 signal Synth00 oscillator
-
-load portaudio/output
-let Output = new portaudio/output
-bind Synth00 signal Output left
-bind Synth00 signal Output right
-start
diff --git a/test_synth_bandpass2 b/test_synth_bandpass2
deleted file mode 100644
index 53909f6..0000000
--- a/test_synth_bandpass2
+++ /dev/null
@@ -1,21 +0,0 @@
-load glfw3/keyboard
-let Keyboard00 = new glfw3/keyboard
-load synth/adsr
-let ADSR00 = new synth/adsr
-load signal/sinus
-let Osc00 = new signal/sinus
-load synth/synth
-let Synth00 = new synth/synth
-bind Keyboard00 notes Synth00 notes
-bind ADSR00 signal Synth00 envelope
-bind Osc00 signal Synth00 oscillator
-
-load signal/bandpass2
-let Fx00 = new signal/bandpass2
-bind Synth00 signal Fx00 signal
-
-load portaudio/output
-let Output = new portaudio/output
-bind Synth00 signal Output left
-bind Fx00 signal Output right
-start
diff --git a/test_synth_delay b/test_synth_delay
deleted file mode 100644
index 0e8819f..0000000
--- a/test_synth_delay
+++ /dev/null
@@ -1,22 +0,0 @@
-
-load glfw3/keyboard
-let Keyboard00 = new glfw3/keyboard
-load synth/adsr
-let ADSR00 = new synth/adsr
-load signal/sinus
-let Osc00 = new signal/sinus
-load synth/synth
-let Synth00 = new synth/synth
-bind Keyboard00 notes Synth00 notes
-bind ADSR00 signal Synth00 envelope
-bind Osc00 signal Synth00 oscillator
-
-load signal/delay
-let Fx00 = new signal/delay
-bind Synth00 signal Fx00 signal
-
-load portaudio/output
-let Output = new portaudio/output
-bind Synth00 signal Output left
-bind Fx00 signal Output right
-start
diff --git a/test_synth_eq10 b/test_synth_eq10
deleted file mode 100644
index 0638033..0000000
--- a/test_synth_eq10
+++ /dev/null
@@ -1,43 +0,0 @@
-load glfw3/keyboard
-let Keyboard00 = new glfw3/keyboard
-load synth/adsr
-let ADSR00 = new synth/adsr
-load signal/sawtooth
-let Osc00 = new signal/sawtooth
-load synth/synth
-let Synth00 = new synth/synth
-bind Keyboard00 notes Synth00 notes
-bind ADSR00 signal Synth00 envelope
-bind Osc00 signal Synth00 oscillator
-
-load signal/delay
-let Delay00 = new signal/delay
-bind Synth00 signal Delay00 signal
-
-load signal/flanger
-let Flanger00 = new signal/flanger
-bind Delay00 signal Flanger00 signal
-
-load signal/lowpass5
-let LP00 = new signal/lowpass5
-bind Flanger00 signal LP00 signal
-
-load dynamic/limiter
-let Limiter00 = new dynamic/limiter
-bind LP00 signal Limiter00 signal
-
-let Flanger01 = new signal/flanger
-bind Synth00 signal Flanger01 signal
-
-load signal/equalizer10
-let EQ00 = new signal/equalizer10
-bind Flanger01 signal EQ00 signal
-
-let Limiter01 = new dynamic/limiter
-bind EQ00 signal Limiter01 signal
-
-load portaudio/output
-let Output = new portaudio/output
-bind Limiter00 signal Output left
-bind Limiter01 signal Output right
-start
diff --git a/test_synth_filters b/test_synth_filters
deleted file mode 100644
index 9ea16a5..0000000
--- a/test_synth_filters
+++ /dev/null
@@ -1,44 +0,0 @@
-
-load glfw3/keyboard
-let Keyboard00 = new glfw3/keyboard
-load synth/adsr
-let ADSR00 = new synth/adsr
-load signal/square
-let Square00 = new signal/square
-load synth/synth
-let Synth00 = new synth/synth
-bind Keyboard00 notes Synth00 notes
-bind ADSR00 signal Synth00 envelope
-bind Square00 signal Synth00 oscillator
-
-load signal/delay
-let Delay00 = new signal/delay
-bind Synth00 signal Delay00 signal
-
-load signal/flanger
-let Flanger00 = new signal/flanger
-bind Delay00 signal Flanger00 signal
-
-load signal/lowpass5
-let LP00 = new signal/lowpass5
-bind Flanger00 signal LP00 signal
-
-load dynamic/limiter
-let Limiter00 = new dynamic/limiter
-bind LP00 signal Limiter00 signal
-
-let Flanger01 = new signal/flanger
-bind Synth00 signal Flanger01 signal
-
-load signal/bandpass2
-let HP01 = new signal/bandpass2
-bind Flanger01 signal HP01 signal
-
-let Limiter01 = new dynamic/limiter
-bind HP01 signal Limiter01 signal
-
-load portaudio/output
-let Output = new portaudio/output
-bind Limiter01 signal Output left
-bind Limiter00 signal Output right
-start
diff --git a/test_synth_flanger b/test_synth_flanger
deleted file mode 100644
index 61a445f..0000000
--- a/test_synth_flanger
+++ /dev/null
@@ -1,22 +0,0 @@
-
-load glfw3/keyboard
-let Keyboard00 = new glfw3/keyboard
-load synth/adsr
-let ADSR00 = new synth/adsr
-load signal/sinus
-let Osc00 = new signal/sinus
-load synth/synth
-let Synth00 = new synth/synth
-bind Keyboard00 notes Synth00 notes
-bind ADSR00 signal Synth00 envelope
-bind Osc00 signal Synth00 oscillator
-
-load signal/flanger
-let Fx00 = new signal/flanger
-bind Synth00 signal Fx00 signal
-
-load portaudio/output
-let Output = new portaudio/output
-bind Synth00 signal Output left
-bind Fx00 signal Output right
-start
diff --git a/test_synth_limiter b/test_synth_limiter
deleted file mode 100644
index c26480b..0000000
--- a/test_synth_limiter
+++ /dev/null
@@ -1,22 +0,0 @@
-
-load glfw3/keyboard
-let Keyboard00 = new glfw3/keyboard
-load synth/adsr
-let ADSR00 = new synth/adsr
-load signal/sinus
-let Osc00 = new signal/sinus
-load synth/synth
-let Synth00 = new synth/synth
-bind Keyboard00 notes Synth00 notes
-bind ADSR00 signal Synth00 envelope
-bind Osc00 signal Synth00 oscillator
-
-load dynamic/limiter
-let Fx00 = new dynamic/limiter
-bind Synth00 signal Fx00 signal
-
-load portaudio/output
-let Output = new portaudio/output
-bind Synth00 signal Output left
-bind Fx00 signal Output right
-start
diff --git a/test_synth_lowpass5 b/test_synth_lowpass5
deleted file mode 100644
index b512cb7..0000000
--- a/test_synth_lowpass5
+++ /dev/null
@@ -1,21 +0,0 @@
-load glfw3/keyboard
-let Keyboard00 = new glfw3/keyboard
-load synth/adsr
-let ADSR00 = new synth/adsr
-load signal/sinus
-let Osc00 = new signal/sinus
-load synth/synth
-let Synth00 = new synth/synth
-bind Keyboard00 notes Synth00 notes
-bind ADSR00 signal Synth00 envelope
-bind Osc00 signal Synth00 oscillator
-
-load signal/lowpass5
-let Fx00 = new signal/lowpass5
-bind Synth00 signal Fx00 signal
-
-load portaudio/output
-let Output = new portaudio/output
-bind Synth00 signal Output left
-bind Fx00 signal Output right
-start