commit d04a48869e1b7ba22cb56a9502c58a3fb4162acb
Author: Leszek Koltunski <leszek@distoretedandroid.org>
Date:   Thu Dec 15 16:02:31 2016 +0000

    Change of names.

diff --git a/src/main/java/org/distorted/examples/aroundtheworld/AroundTheWorldEffectsManager.java b/src/main/java/org/distorted/examples/aroundtheworld/AroundTheWorldEffectsManager.java
index afc8f27..45e3a34 100644
--- a/src/main/java/org/distorted/examples/aroundtheworld/AroundTheWorldEffectsManager.java
+++ b/src/main/java/org/distorted/examples/aroundtheworld/AroundTheWorldEffectsManager.java
@@ -21,7 +21,7 @@ package org.distorted.examples.aroundtheworld;
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-import org.distorted.library.DistortedEffectQueues;
+import org.distorted.library.DistortedEffects;
 import org.distorted.library.type.Dynamic1D;
 import org.distorted.library.type.Dynamic2D;
 import org.distorted.library.type.Dynamic3D;
@@ -255,39 +255,39 @@ class AroundTheWorldEffectsManager
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  synchronized void apply(DistortedEffectQueues queues)
+  synchronized void apply(DistortedEffects effects)
     {
     setRace(mBlackness, mAsianness);
 
     // WHITENESS
-    queues.sink(wLipsDyn, wLipsCenter, wLipsRegion);
+    effects.sink(wLipsDyn, wLipsCenter, wLipsRegion);
 
     // ASIANNESS
-    queues.distort(aLipsNoseDyn, aLipsNoseCenter, aLipsNoseRegion);
-    queues.pinch(aNoseBroaderDyn, aNoseBroaderCenter, aNoseBroaderRegion);
-    queues.distort(aNostrilsDyn, aNostrilsCenter, aNostrilsRegion);
-    queues.swirl(aLEyeDyn, aLEyeCenter, aEyesRegion);
-    queues.swirl(aREyeDyn, aREyeCenter, aEyesRegion);
-    queues.distort(aEyebrowsDyn, aEyebrowsCenter, aEyebrowsRegion);
+    effects.distort(aLipsNoseDyn, aLipsNoseCenter, aLipsNoseRegion);
+    effects.pinch(aNoseBroaderDyn, aNoseBroaderCenter, aNoseBroaderRegion);
+    effects.distort(aNostrilsDyn, aNostrilsCenter, aNostrilsRegion);
+    effects.swirl(aLEyeDyn, aLEyeCenter, aEyesRegion);
+    effects.swirl(aREyeDyn, aREyeCenter, aEyesRegion);
+    effects.distort(aEyebrowsDyn, aEyebrowsCenter, aEyebrowsRegion);
 
-    queues.chroma(aChromaSkinDyn, aChromaSkin, aSkinColorRegion, false);
-    queues.chroma(aChromaEyesDyn, aChromaEyes, aLEyeColorRegion, true);
-    queues.chroma(aChromaEyesDyn, aChromaEyes, aREyeColorRegion, true);
+    effects.chroma(aChromaSkinDyn, aChromaSkin, aSkinColorRegion, false);
+    effects.chroma(aChromaEyesDyn, aChromaEyes, aLEyeColorRegion, true);
+    effects.chroma(aChromaEyesDyn, aChromaEyes, aREyeColorRegion, true);
 
     // BLACKNESS
-    queues.pinch(bFaceDyn, bFaceCenter, bFaceRegion);
-    queues.distort(bTipLowerDyn, bTipLowerCenter, bTipLowerRegion);
-    queues.pinch(bWholeNoseDyn, bWholeNoseCenter, bWholeNoseRegion);
-    queues.pinch(bNoseBroaderDyn, bNoseBroaderCenter, bNoseBroaderRegion);
-    queues.pinch(bLipsDyn, bLipsCenter, bLipsRegion);
-
-    queues.chroma(bChromaSkinDyn, bChromaSkin, bSkinColorRegion, false);
-    queues.chroma(bChromaEyesDyn, bChromaEyes, bLEyeColorRegion, true);
-    queues.chroma(bChromaEyesDyn, bChromaEyes, bREyeColorRegion, true);
-    queues.chroma(bChromaPupilDyn, bChromaPupil, bLPupilColorRegion, true);
-    queues.chroma(bChromaPupilDyn, bChromaPupil, bRPupilColorRegion, true);
-
-    queues.contrast(bContrastDyn);
+    effects.pinch(bFaceDyn, bFaceCenter, bFaceRegion);
+    effects.distort(bTipLowerDyn, bTipLowerCenter, bTipLowerRegion);
+    effects.pinch(bWholeNoseDyn, bWholeNoseCenter, bWholeNoseRegion);
+    effects.pinch(bNoseBroaderDyn, bNoseBroaderCenter, bNoseBroaderRegion);
+    effects.pinch(bLipsDyn, bLipsCenter, bLipsRegion);
+
+    effects.chroma(bChromaSkinDyn, bChromaSkin, bSkinColorRegion, false);
+    effects.chroma(bChromaEyesDyn, bChromaEyes, bLEyeColorRegion, true);
+    effects.chroma(bChromaEyesDyn, bChromaEyes, bREyeColorRegion, true);
+    effects.chroma(bChromaPupilDyn, bChromaPupil, bLPupilColorRegion, true);
+    effects.chroma(bChromaPupilDyn, bChromaPupil, bRPupilColorRegion, true);
+
+    effects.contrast(bContrastDyn);
     }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
diff --git a/src/main/java/org/distorted/examples/aroundtheworld/AroundTheWorldRenderer.java b/src/main/java/org/distorted/examples/aroundtheworld/AroundTheWorldRenderer.java
index 5920200..f0769b1 100644
--- a/src/main/java/org/distorted/examples/aroundtheworld/AroundTheWorldRenderer.java
+++ b/src/main/java/org/distorted/examples/aroundtheworld/AroundTheWorldRenderer.java
@@ -26,9 +26,9 @@ import android.opengl.GLSurfaceView;
 
 import org.distorted.examples.R;
 import org.distorted.library.Distorted;
+import org.distorted.library.DistortedEffects;
 import org.distorted.library.DistortedFramebuffer;
 import org.distorted.library.GridFlat;
-import org.distorted.library.DistortedEffectQueues;
 import org.distorted.library.DistortedTexture;
 import org.distorted.library.EffectTypes;
 import org.distorted.library.type.Static3D;
@@ -44,7 +44,7 @@ import javax.microedition.khronos.opengles.GL10;
 class AroundTheWorldRenderer implements GLSurfaceView.Renderer
 {
    private GLSurfaceView mView;
-   private DistortedEffectQueues mEffects;
+   private DistortedEffects mEffects;
    private DistortedTexture mTexture;
    private GridFlat mGrid;
    private DistortedFramebuffer mScreen;
@@ -60,7 +60,7 @@ class AroundTheWorldRenderer implements GLSurfaceView.Renderer
 
       mView = view;
       mManager = new AroundTheWorldEffectsManager();
-      mEffects = new DistortedEffectQueues();
+      mEffects = new DistortedEffects();
       mManager.apply(mEffects);
       mScreen = new DistortedFramebuffer(0);
       }
diff --git a/src/main/java/org/distorted/examples/bean/BeanRenderer.java b/src/main/java/org/distorted/examples/bean/BeanRenderer.java
index c1b3165..bc37194 100644
--- a/src/main/java/org/distorted/examples/bean/BeanRenderer.java
+++ b/src/main/java/org/distorted/examples/bean/BeanRenderer.java
@@ -27,11 +27,11 @@ import javax.microedition.khronos.opengles.GL10;
 
 import org.distorted.examples.R;
 
+import org.distorted.library.DistortedEffects;
 import org.distorted.library.DistortedFramebuffer;
 import org.distorted.library.EffectTypes;
 import org.distorted.library.Distorted;
 import org.distorted.library.DistortedTexture;
-import org.distorted.library.DistortedEffectQueues;
 import org.distorted.library.GridFlat;
 import org.distorted.library.type.Dynamic3D;
 import org.distorted.library.type.Static3D;
@@ -48,7 +48,7 @@ class BeanRenderer implements GLSurfaceView.Renderer
 {
    private GLSurfaceView mView;
    private DistortedTexture mTexture;
-   private DistortedEffectQueues mEffects;
+   private DistortedEffects mEffects;
    private DistortedFramebuffer mScreen;
    private GridFlat mGrid;
    private int bmpHeight, bmpWidth;
@@ -85,7 +85,7 @@ class BeanRenderer implements GLSurfaceView.Renderer
       dRight.add(p1);
       dRight.add(p1);
 
-      mEffects = new DistortedEffectQueues();
+      mEffects = new DistortedEffects();
       mEffects.distort(dLeft , pLeft , rLeft );
       mEffects.distort(dRight, pRight, rRight);
 
diff --git a/src/main/java/org/distorted/examples/catanddog/CatAndDogRenderer.java b/src/main/java/org/distorted/examples/catanddog/CatAndDogRenderer.java
index 737cce0..f89d92d 100644
--- a/src/main/java/org/distorted/examples/catanddog/CatAndDogRenderer.java
+++ b/src/main/java/org/distorted/examples/catanddog/CatAndDogRenderer.java
@@ -27,7 +27,7 @@ import javax.microedition.khronos.opengles.GL10;
 
 import org.distorted.examples.R;
 import org.distorted.library.Distorted;
-import org.distorted.library.DistortedEffectQueues;
+import org.distorted.library.DistortedEffects;
 import org.distorted.library.DistortedFramebuffer;
 import org.distorted.library.DistortedTexture;
 import org.distorted.library.GridFlat;
@@ -48,7 +48,7 @@ import android.opengl.GLSurfaceView;
 class CatAndDogRenderer implements GLSurfaceView.Renderer
 {
     private GLSurfaceView mView;
-    private DistortedEffectQueues mEffects;
+    private DistortedEffects mEffects;
     private DistortedTexture mTexture;
     private GridFlat mGrid;
     private DistortedFramebuffer mScreen;
@@ -61,7 +61,7 @@ class CatAndDogRenderer implements GLSurfaceView.Renderer
       mView = v;
 
       mGrid   = new GridFlat(1,1);  // no vertex effects, grid can be a (1x1) quad.
-      mEffects = new DistortedEffectQueues();
+      mEffects = new DistortedEffects();
 
       Static4D chromaRegion= new Static4D( 530, 200,100,100);
       Static4D alphaRegion = new Static4D( 230, 200,100,100);
diff --git a/src/main/java/org/distorted/examples/check/CheckRenderer.java b/src/main/java/org/distorted/examples/check/CheckRenderer.java
index 5023fda..f4beb5e 100644
--- a/src/main/java/org/distorted/examples/check/CheckRenderer.java
+++ b/src/main/java/org/distorted/examples/check/CheckRenderer.java
@@ -28,9 +28,9 @@ import javax.microedition.khronos.opengles.GL10;
 import org.distorted.examples.R;
 
 import org.distorted.library.Distorted;
+import org.distorted.library.DistortedEffects;
 import org.distorted.library.DistortedFramebuffer;
 import org.distorted.library.DistortedTexture;
-import org.distorted.library.DistortedEffectQueues;
 import org.distorted.library.GridFlat;
 import org.distorted.library.EffectTypes;
 import org.distorted.library.type.Dynamic3D;
@@ -57,7 +57,7 @@ class CheckRenderer implements GLSurfaceView.Renderer
 
     private GLSurfaceView mView;
     private DistortedTexture mTexture;
-    private DistortedEffectQueues mEffects;
+    private DistortedEffects mEffects;
     private GridFlat mGrid;
     private DistortedFramebuffer mScreen;
     private int bmpHeight, bmpWidth;
@@ -67,7 +67,7 @@ class CheckRenderer implements GLSurfaceView.Renderer
     CheckRenderer(GLSurfaceView view)
       { 
       mView = view;
-      mEffects = new DistortedEffectQueues();
+      mEffects = new DistortedEffects();
 
       CheckActivity act = (CheckActivity)mView.getContext();
 
diff --git a/src/main/java/org/distorted/examples/cubes/CubesRenderer.java b/src/main/java/org/distorted/examples/cubes/CubesRenderer.java
index 1f2136a..fd4df98 100644
--- a/src/main/java/org/distorted/examples/cubes/CubesRenderer.java
+++ b/src/main/java/org/distorted/examples/cubes/CubesRenderer.java
@@ -27,9 +27,9 @@ import javax.microedition.khronos.opengles.GL10;
 
 import org.distorted.examples.R;
 
+import org.distorted.library.DistortedEffects;
 import org.distorted.library.DistortedFramebuffer;
 import org.distorted.library.DistortedTexture;
-import org.distorted.library.DistortedEffectQueues;
 import org.distorted.library.GridObject;
 import org.distorted.library.EffectTypes;
 import org.distorted.library.type.DynamicQuat;
@@ -48,7 +48,7 @@ class CubesRenderer implements GLSurfaceView.Renderer
 {
     private GLSurfaceView mView;
     private DistortedTexture mTexture;
-    private DistortedEffectQueues mEffects;
+    private DistortedEffects mEffects;
     private GridObject mGrid;
     private DistortedFramebuffer mScreen;
     private DynamicQuat mQuatInt1, mQuatInt2;
@@ -65,7 +65,7 @@ class CubesRenderer implements GLSurfaceView.Renderer
 
       CubesActivity act = (CubesActivity)v.getContext();
 
-      mEffects = new DistortedEffectQueues();
+      mEffects = new DistortedEffects();
       mTexture = act.getTexture();
       mGrid    = act.getGrid();
 
diff --git a/src/main/java/org/distorted/examples/deform/DeformRenderer.java b/src/main/java/org/distorted/examples/deform/DeformRenderer.java
index e62f44f..71255d5 100644
--- a/src/main/java/org/distorted/examples/deform/DeformRenderer.java
+++ b/src/main/java/org/distorted/examples/deform/DeformRenderer.java
@@ -23,9 +23,9 @@ import javax.microedition.khronos.egl.EGLConfig;
 import javax.microedition.khronos.opengles.GL10;
 
 import org.distorted.library.Distorted;
+import org.distorted.library.DistortedEffects;
 import org.distorted.library.DistortedFramebuffer;
 import org.distorted.library.DistortedTexture;
-import org.distorted.library.DistortedEffectQueues;
 import org.distorted.library.GridObject;
 import org.distorted.library.GridFlat;
 
@@ -52,7 +52,7 @@ class DeformRenderer implements GLSurfaceView.Renderer
 
    private GLSurfaceView mView;
    private DistortedTexture fpsTexture, stretchTexture;
-   private DistortedEffectQueues fpsEffects, stretchEffects;
+   private DistortedEffects fpsEffects, stretchEffects;
    private GridObject fpsGrid, stretchGrid;
    private DistortedFramebuffer mScreen;
    private Static3D touchPoint;
@@ -92,8 +92,8 @@ class DeformRenderer implements GLSurfaceView.Renderer
       mPaint.setAntiAlias(true);
       mPaint.setTextAlign(Paint.Align.CENTER);
 
-      fpsEffects = new DistortedEffectQueues();
-      stretchEffects = new DistortedEffectQueues();
+      fpsEffects = new DistortedEffects();
+      stretchEffects = new DistortedEffects();
 
       mRegion = new Static4D(0,0,50,50);
 
diff --git a/src/main/java/org/distorted/examples/differentbitmaps/DifferentBitmapsRenderer.java b/src/main/java/org/distorted/examples/differentbitmaps/DifferentBitmapsRenderer.java
index b19f402..1588b9d 100644
--- a/src/main/java/org/distorted/examples/differentbitmaps/DifferentBitmapsRenderer.java
+++ b/src/main/java/org/distorted/examples/differentbitmaps/DifferentBitmapsRenderer.java
@@ -30,7 +30,7 @@ import org.distorted.examples.R;
 import org.distorted.library.Distorted;
 import org.distorted.library.DistortedFramebuffer;
 import org.distorted.library.DistortedTexture;
-import org.distorted.library.DistortedEffectQueues;
+import org.distorted.library.DistortedEffects;
 import org.distorted.library.GridFlat;
 import org.distorted.library.EffectTypes;
 import org.distorted.library.type.Dynamic3D;
@@ -51,7 +51,7 @@ class DifferentBitmapsRenderer implements GLSurfaceView.Renderer
    
    private GLSurfaceView mView;
    private DistortedTexture[] mTexture;
-   private DistortedEffectQueues[] mEffects;
+   private DistortedEffects[] mEffects;
    private GridFlat mGrid;
    private DistortedFramebuffer mScreen;
    private int bmpHeight, bmpWidth;
@@ -67,10 +67,10 @@ class DifferentBitmapsRenderer implements GLSurfaceView.Renderer
       dDistort.add(new Static3D(-25,0,0));
       Static3D mPoint = new Static3D(305, 380, 0);
 
-      mEffects = new DistortedEffectQueues[NUM];
-      mEffects[0] = new DistortedEffectQueues();
+      mEffects = new DistortedEffects[NUM];
+      mEffects[0] = new DistortedEffects();
       for(int i=1; i<NUM; i++)
-        mEffects[i] = new DistortedEffectQueues(mEffects[0], Distorted.CLONE_VERTEX|Distorted.CLONE_FRAGMENT);
+        mEffects[i] = new DistortedEffects(mEffects[0], Distorted.CLONE_VERTEX|Distorted.CLONE_FRAGMENT);
 
       // Add the effects only to the first queue - all VERTEX and FRAGMENT effects are shared!
       // (Matrix effect cannot be shared as we have to display each Texture in a different location)
diff --git a/src/main/java/org/distorted/examples/differenteffects/DifferentEffectsRenderer.java b/src/main/java/org/distorted/examples/differenteffects/DifferentEffectsRenderer.java
index 4882574..e6ea54a 100644
--- a/src/main/java/org/distorted/examples/differenteffects/DifferentEffectsRenderer.java
+++ b/src/main/java/org/distorted/examples/differenteffects/DifferentEffectsRenderer.java
@@ -28,10 +28,10 @@ import javax.microedition.khronos.opengles.GL10;
 import org.distorted.examples.R;
 
 import org.distorted.library.Distorted;
+import org.distorted.library.DistortedEffects;
 import org.distorted.library.DistortedFramebuffer;
 import org.distorted.library.GridFlat;
 import org.distorted.library.DistortedTexture;
-import org.distorted.library.DistortedEffectQueues;
 import org.distorted.library.EffectTypes;
 import org.distorted.library.type.Dynamic1D;
 import org.distorted.library.type.Dynamic3D;
@@ -51,7 +51,7 @@ class DifferentEffectsRenderer implements GLSurfaceView.Renderer
    private static final int NUM = 3;
    
    private GLSurfaceView mView;
-   private DistortedEffectQueues[] mEffects;
+   private DistortedEffects[] mEffects;
    private DistortedTexture mTexture;
    private GridFlat mGrid;
    private DistortedFramebuffer mScreen;
@@ -76,9 +76,9 @@ class DifferentEffectsRenderer implements GLSurfaceView.Renderer
       
       // we don't need to prepare anything for mEffects[2] effects
 
-      mEffects = new DistortedEffectQueues[NUM];
+      mEffects = new DistortedEffects[NUM];
 
-      for(int i=0; i<NUM; i++) mEffects[i] = new DistortedEffectQueues();
+      for(int i=0; i<NUM; i++) mEffects[i] = new DistortedEffects();
 
       Dynamic1D sink = new Dynamic1D(2000,0.0f);
       sink.add(new Static1D( 1));
diff --git a/src/main/java/org/distorted/examples/dynamic/DynamicRenderer.java b/src/main/java/org/distorted/examples/dynamic/DynamicRenderer.java
index 99eadd8..7353d98 100644
--- a/src/main/java/org/distorted/examples/dynamic/DynamicRenderer.java
+++ b/src/main/java/org/distorted/examples/dynamic/DynamicRenderer.java
@@ -29,9 +29,9 @@ import android.graphics.Paint.Style;
 import android.opengl.GLES20;
 import android.opengl.GLSurfaceView;
 
+import org.distorted.library.DistortedEffects;
 import org.distorted.library.DistortedFramebuffer;
 import org.distorted.library.GridFlat;
-import org.distorted.library.DistortedEffectQueues;
 import org.distorted.library.DistortedTexture;
 import org.distorted.library.Distorted;
 
@@ -41,7 +41,7 @@ class DynamicRenderer implements GLSurfaceView.Renderer
    {  
    private DynamicSurfaceView mView;
    private DistortedTexture mTexture;
-   private DistortedEffectQueues mEffects;
+   private DistortedEffects mEffects;
    private DistortedFramebuffer mScreen;
    private GridFlat mGrid;
    private Canvas mCanvas;
@@ -62,7 +62,7 @@ class DynamicRenderer implements GLSurfaceView.Renderer
       
      mView   = v;
      mGrid   = new GridFlat(1,1);
-     mEffects = new DistortedEffectQueues();
+     mEffects = new DistortedEffects();
      mScreen = new DistortedFramebuffer(0);
      }
 
diff --git a/src/main/java/org/distorted/examples/effectqueue/EffectQueueActivity.java b/src/main/java/org/distorted/examples/effectqueue/EffectQueueActivity.java
index 5069123..b6b7b88 100644
--- a/src/main/java/org/distorted/examples/effectqueue/EffectQueueActivity.java
+++ b/src/main/java/org/distorted/examples/effectqueue/EffectQueueActivity.java
@@ -170,7 +170,7 @@ public class EffectQueueActivity extends Activity implements AdapterView.OnItemS
       {
       Long currID = (Long)mID.getItemAtPosition(mPosID);
       EffectQueueSurfaceView v = (EffectQueueSurfaceView) this.findViewById(R.id.effects2dSurfaceView);
-      v.getRenderer().getQueues().abortEffect(currID);
+      v.getRenderer().getEffects().abortEffect(currID);
       }
     catch(IndexOutOfBoundsException ex)
       {
@@ -195,7 +195,7 @@ public class EffectQueueActivity extends Activity implements AdapterView.OnItemS
       }
 
     EffectQueueSurfaceView v = (EffectQueueSurfaceView) this.findViewById(R.id.effects2dSurfaceView);
-    v.getRenderer().getQueues().abortEffects(name);
+    v.getRenderer().getEffects().abortEffects(name);
     }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
@@ -212,7 +212,7 @@ public class EffectQueueActivity extends Activity implements AdapterView.OnItemS
       }
 
     EffectQueueSurfaceView v = (EffectQueueSurfaceView) this.findViewById(R.id.effects2dSurfaceView);
-    v.getRenderer().getQueues().abortEffects(type);
+    v.getRenderer().getEffects().abortEffects(type);
     }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
diff --git a/src/main/java/org/distorted/examples/effectqueue/EffectQueueRenderer.java b/src/main/java/org/distorted/examples/effectqueue/EffectQueueRenderer.java
index 1350c73..41ea135 100644
--- a/src/main/java/org/distorted/examples/effectqueue/EffectQueueRenderer.java
+++ b/src/main/java/org/distorted/examples/effectqueue/EffectQueueRenderer.java
@@ -29,10 +29,10 @@ import android.graphics.Paint.Style;
 import android.opengl.GLES20;
 import android.opengl.GLSurfaceView;
 
+import org.distorted.library.DistortedEffects;
 import org.distorted.library.DistortedFramebuffer;
 import org.distorted.library.GridFlat;
 import org.distorted.library.DistortedTexture;
-import org.distorted.library.DistortedEffectQueues;
 import org.distorted.library.Distorted;
 import org.distorted.library.EffectNames;
 import org.distorted.library.EffectTypes;
@@ -54,7 +54,7 @@ class EffectQueueRenderer implements GLSurfaceView.Renderer, EffectListener
 
   private DistortedTexture mTexture;
   private GridFlat mGrid;
-  private DistortedEffectQueues mEffects;
+  private DistortedEffects mEffects;
   private DistortedFramebuffer mScreen;
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
@@ -73,7 +73,7 @@ class EffectQueueRenderer implements GLSurfaceView.Renderer, EffectListener
 
     mGrid    = new GridFlat(80,80*texHeight/texWidth);
     mTexture = new DistortedTexture(texWidth,texHeight);
-    mEffects = new DistortedEffectQueues();
+    mEffects = new DistortedEffects();
 
     mEffects.registerForMessages(this);
 
@@ -82,7 +82,7 @@ class EffectQueueRenderer implements GLSurfaceView.Renderer, EffectListener
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  DistortedEffectQueues getQueues()
+  DistortedEffects getEffects()
     {
     return mEffects;
     }
diff --git a/src/main/java/org/distorted/examples/effectqueue/EffectQueueSurfaceView.java b/src/main/java/org/distorted/examples/effectqueue/EffectQueueSurfaceView.java
index 80c1b82..403c1e3 100644
--- a/src/main/java/org/distorted/examples/effectqueue/EffectQueueSurfaceView.java
+++ b/src/main/java/org/distorted/examples/effectqueue/EffectQueueSurfaceView.java
@@ -21,7 +21,6 @@ package org.distorted.examples.effectqueue;
 
 import android.content.Context;
 import android.opengl.GLSurfaceView;
-import android.os.Build;
 import android.view.MotionEvent;
 import android.util.AttributeSet;
 
@@ -29,7 +28,6 @@ import org.distorted.library.EffectNames;
 import org.distorted.library.EffectTypes;
 import org.distorted.library.type.Dynamic1D;
 import org.distorted.library.type.Static1D;
-import org.distorted.library.type.Static2D;
 import org.distorted.library.type.Static3D;
 import org.distorted.library.type.Static4D;
 import org.distorted.library.type.Dynamic3D;
@@ -140,19 +138,19 @@ public class EffectQueueSurfaceView extends GLSurfaceView
 
                                     switch(mCurrentEffect)
                                       {
-                                      case 0: id = mRenderer.getQueues().distort(mInterD, mPoint, mRegionV);
+                                      case 0: id = mRenderer.getEffects().distort(mInterD, mPoint, mRegionV);
                                               act.effectAdded(id, EffectNames.DISTORT, EffectTypes.VERTEX);
                                               break;
-                                      case 1: id = mRenderer.getQueues().sink(mInterS, mPoint, mRegionV);
+                                      case 1: id = mRenderer.getEffects().sink(mInterS, mPoint, mRegionV);
                                               act.effectAdded(id, EffectNames.SINK, EffectTypes.VERTEX);
                                               break;
-                                      case 2: id = mRenderer.getQueues().alpha(mInterA, mRegionF, true);
+                                      case 2: id = mRenderer.getEffects().alpha(mInterA, mRegionF, true);
                                               act.effectAdded(id, EffectNames.ALPHA, EffectTypes.FRAGMENT);
                                               break;
-                                      case 3: id = mRenderer.getQueues().saturation(mInterB, mRegionF, false);
+                                      case 3: id = mRenderer.getEffects().saturation(mInterB, mRegionF, false);
                                               act.effectAdded(id, EffectNames.SATURATION, EffectTypes.FRAGMENT);
                                               break;
-                                      case 4: id = mRenderer.getQueues().chroma(mInterC, mRED, mRegionF, true);
+                                      case 4: id = mRenderer.getEffects().chroma(mInterC, mRED, mRegionF, true);
                                               act.effectAdded(id, EffectNames.CHROMA, EffectTypes.FRAGMENT);
                                               break;
                                       }
diff --git a/src/main/java/org/distorted/examples/effects3d/Effects3DActivity.java b/src/main/java/org/distorted/examples/effects3d/Effects3DActivity.java
index 39badb5..1b2e375 100644
--- a/src/main/java/org/distorted/examples/effects3d/Effects3DActivity.java
+++ b/src/main/java/org/distorted/examples/effects3d/Effects3DActivity.java
@@ -42,7 +42,7 @@ import org.distorted.library.GridFlat;
 import org.distorted.library.GridCubes;
 import org.distorted.library.GridObject;
 import org.distorted.library.DistortedTexture;
-import org.distorted.library.DistortedEffectQueues;
+import org.distorted.library.DistortedEffects;
 import org.distorted.library.EffectNames;
 import org.distorted.library.EffectTypes;
 
@@ -68,13 +68,13 @@ public class Effects3DActivity extends Activity
   private NumberPicker mColsPicker, mRowsPicker;
   private boolean[] mShape;
   private DistortedTexture mTexture;
-  private DistortedEffectQueues mQueues;
+  private DistortedEffects mEffects;
   private GridObject mGrid;
   private int mObjectType;
   private int mBitmapID;
   private Bitmap mBitmap;
 
-  private ArrayList<Effects3DEffect> mEffects;
+  private ArrayList<Effects3DEffect> mList;
   private int mEffectAdd;
   private float mCenterX, mCenterY, mCenterZ;
   private float mRegionX, mRegionY, mRegionR;
@@ -91,7 +91,7 @@ public class Effects3DActivity extends Activity
     {
     super.onCreate(savedState);
 
-    mEffects = new ArrayList<>();
+    mList = new ArrayList<>();
 
     createEffectNames();
 
@@ -226,9 +226,9 @@ public class Effects3DActivity extends Activity
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  public DistortedEffectQueues getQueues()
+  public DistortedEffects getEffects()
     {
-    return mQueues;
+    return mEffects;
     }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
@@ -410,7 +410,7 @@ public class Effects3DActivity extends Activity
       int w = mBitmap.getWidth();
       int h = mBitmap.getHeight();
 
-      mQueues = new DistortedEffectQueues();
+      mEffects = new DistortedEffects();
       mTexture= new DistortedTexture(w,h);
       mGrid   = new GridFlat(mNumCols,mNumCols*h/w);
       setEffectView();
@@ -441,7 +441,7 @@ public class Effects3DActivity extends Activity
     for(int i=0; i<mNumRows*mNumCols; i++)
       str += mShape[i] ? "1" : "0";
 
-    mQueues = new DistortedEffectQueues();
+    mEffects = new DistortedEffects();
     mTexture= new DistortedTexture(mNumCols,mNumRows);
     mGrid   = new GridCubes(mNumCols, str, false);
 
@@ -557,7 +557,7 @@ public class Effects3DActivity extends Activity
   public void newEffect(View v)
     {
     Effects3DEffect eff = new Effects3DEffect(mEffectNames[mEffectAdd], this);
-    mEffects.add(eff);
+    mList.add(eff);
 
     LinearLayout layout = (LinearLayout)findViewById(R.id.effects3dlayout);
     View view = eff.createView();
@@ -575,18 +575,18 @@ public class Effects3DActivity extends Activity
       layout.addView(region);
       }
 
-    eff.apply(mQueues);
+    eff.apply(mEffects);
     }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
   public void removeAll(View v)
     {
-    mEffects.clear();
+    mList.clear();
     LinearLayout layout = (LinearLayout)findViewById(R.id.effects3dlayout);
     layout.removeAllViews();
-    mQueues.abortEffects(EffectTypes.VERTEX);
-    mQueues.abortEffects(EffectTypes.FRAGMENT);
+    mEffects.abortEffects(EffectTypes.VERTEX);
+    mEffects.abortEffects(EffectTypes.FRAGMENT);
 
     resetData();
 
@@ -603,7 +603,7 @@ public class Effects3DActivity extends Activity
 
   public void remove(View v)
     {
-    for(Effects3DEffect effect: mEffects)
+    for(Effects3DEffect effect: mList)
       {
       if( effect.thisView(v) )
         {
@@ -617,8 +617,8 @@ public class Effects3DActivity extends Activity
         view = effect.getRegion();
         if( view!=null ) layout.removeView(view);
 
-        mQueues.abortEffect(effect.getId());
-        mEffects.remove(effect);
+        mEffects.abortEffect(effect.getId());
+        mList.remove(effect);
 
         resetData();
 
diff --git a/src/main/java/org/distorted/examples/effects3d/Effects3DEffect.java b/src/main/java/org/distorted/examples/effects3d/Effects3DEffect.java
index de27c66..4100197 100644
--- a/src/main/java/org/distorted/examples/effects3d/Effects3DEffect.java
+++ b/src/main/java/org/distorted/examples/effects3d/Effects3DEffect.java
@@ -24,7 +24,7 @@ import android.widget.SeekBar;
 import android.widget.TextView;
 
 import org.distorted.examples.R;
-import org.distorted.library.DistortedEffectQueues;
+import org.distorted.library.DistortedEffects;
 import org.distorted.library.EffectNames;
 import org.distorted.library.EffectTypes;
 import org.distorted.library.type.Dynamic1D;
@@ -77,33 +77,33 @@ class Effects3DEffect implements SeekBar.OnSeekBarChangeListener
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 // requires knowledge about effect nature
 
-  void apply(DistortedEffectQueues queues)
+  void apply(DistortedEffects effects)
     {
     switch(mName)
       {
-      case ROTATE           : mId = queues.rotate    (mDyn4, mCenterDyn); break;
-      case QUATERNION       : mId = queues.quaternion(mDyn4, mCenterDyn); break;
-      case MOVE             : mId = queues.move      (mDyn3)            ; break;
-      case SCALE            : mId = queues.scale     (mDyn3)            ; break;
-      case SHEAR            : mId = queues.shear     (mDyn3, mCenterDyn); break;
-
-      case DISTORT          : mId = queues.distort   (mDyn3, mCenterDyn, mRegionDyn); break;
-      case DEFORM           : mId = queues.deform    (mDyn3, mCenterDyn, mRegionDyn); break;
-      case SINK             : mId = queues.sink      (mDyn1, mCenterDyn, mRegionDyn); break;
-      case PINCH            : mId = queues.pinch     (mDyn2, mCenterDyn, mRegionDyn); break;
-      case SWIRL            : mId = queues.swirl     (mDyn1, mCenterDyn, mRegionDyn); break;
-      case WAVE             : mId = queues.wave      (mDyn5, mCenterDyn, mRegionDyn); break;
-
-      case ALPHA            : mId = queues.alpha     (mDyn1,        mRegionDyn, false); break;
-      case SMOOTH_ALPHA     : mId = queues.alpha     (mDyn1,        mRegionDyn, true ); break;
-      case CHROMA           : mId = queues.chroma    (mDyn1, mDyn3, mRegionDyn, false); break;
-      case SMOOTH_CHROMA    : mId = queues.chroma    (mDyn1, mDyn3, mRegionDyn, true ); break;
-      case BRIGHTNESS       : mId = queues.brightness(mDyn1,        mRegionDyn, false); break;
-      case SMOOTH_BRIGHTNESS: mId = queues.brightness(mDyn1,        mRegionDyn, true ); break;
-      case SATURATION       : mId = queues.saturation(mDyn1,        mRegionDyn, false); break;
-      case SMOOTH_SATURATION: mId = queues.saturation(mDyn1,        mRegionDyn, true ); break;
-      case CONTRAST         : mId = queues.contrast  (mDyn1,        mRegionDyn, false); break;
-      case SMOOTH_CONTRAST  : mId = queues.contrast  (mDyn1,        mRegionDyn, true ); break;
+      case ROTATE           : mId = effects.rotate    (mDyn4, mCenterDyn); break;
+      case QUATERNION       : mId = effects.quaternion(mDyn4, mCenterDyn); break;
+      case MOVE             : mId = effects.move      (mDyn3)            ; break;
+      case SCALE            : mId = effects.scale     (mDyn3)            ; break;
+      case SHEAR            : mId = effects.shear     (mDyn3, mCenterDyn); break;
+
+      case DISTORT          : mId = effects.distort   (mDyn3, mCenterDyn, mRegionDyn); break;
+      case DEFORM           : mId = effects.deform    (mDyn3, mCenterDyn, mRegionDyn); break;
+      case SINK             : mId = effects.sink      (mDyn1, mCenterDyn, mRegionDyn); break;
+      case PINCH            : mId = effects.pinch     (mDyn2, mCenterDyn, mRegionDyn); break;
+      case SWIRL            : mId = effects.swirl     (mDyn1, mCenterDyn, mRegionDyn); break;
+      case WAVE             : mId = effects.wave      (mDyn5, mCenterDyn, mRegionDyn); break;
+
+      case ALPHA            : mId = effects.alpha     (mDyn1,        mRegionDyn, false); break;
+      case SMOOTH_ALPHA     : mId = effects.alpha     (mDyn1,        mRegionDyn, true ); break;
+      case CHROMA           : mId = effects.chroma    (mDyn1, mDyn3, mRegionDyn, false); break;
+      case SMOOTH_CHROMA    : mId = effects.chroma    (mDyn1, mDyn3, mRegionDyn, true ); break;
+      case BRIGHTNESS       : mId = effects.brightness(mDyn1,        mRegionDyn, false); break;
+      case SMOOTH_BRIGHTNESS: mId = effects.brightness(mDyn1,        mRegionDyn, true ); break;
+      case SATURATION       : mId = effects.saturation(mDyn1,        mRegionDyn, false); break;
+      case SMOOTH_SATURATION: mId = effects.saturation(mDyn1,        mRegionDyn, true ); break;
+      case CONTRAST         : mId = effects.contrast  (mDyn1,        mRegionDyn, false); break;
+      case SMOOTH_CONTRAST  : mId = effects.contrast  (mDyn1,        mRegionDyn, true ); break;
 
       default: mId = -1;
       }
diff --git a/src/main/java/org/distorted/examples/effects3d/Effects3DRenderer.java b/src/main/java/org/distorted/examples/effects3d/Effects3DRenderer.java
index 1cf1d6b..0eccadd 100644
--- a/src/main/java/org/distorted/examples/effects3d/Effects3DRenderer.java
+++ b/src/main/java/org/distorted/examples/effects3d/Effects3DRenderer.java
@@ -26,10 +26,10 @@ import android.opengl.GLSurfaceView;
 
 import org.distorted.examples.R;
 import org.distorted.library.Distorted;
+import org.distorted.library.DistortedEffects;
 import org.distorted.library.DistortedFramebuffer;
 import org.distorted.library.DistortedTexture;
 import org.distorted.library.GridFlat;
-import org.distorted.library.DistortedEffectQueues;
 import org.distorted.library.GridObject;
 import org.distorted.library.EffectTypes;
 import org.distorted.library.type.Dynamic3D;
@@ -49,7 +49,7 @@ class Effects3DRenderer implements GLSurfaceView.Renderer
 {
     private GLSurfaceView mView;
     private DistortedTexture mObjectTexture, mBackgroundTexture, mCenterTexture, mRegionTexture;
-    private DistortedEffectQueues mObjectEffects, mBackgroundEffects, mCenterEffects, mRegionEffects;
+    private DistortedEffects mObjectEffects, mBackgroundEffects, mCenterEffects, mRegionEffects;
     private DistortedFramebuffer mScreen;
     private GridFlat mQuad;
     private GridObject mObjectGrid;
@@ -76,14 +76,14 @@ class Effects3DRenderer implements GLSurfaceView.Renderer
 
       mObjectTexture     = act.getTexture();
       mObjectGrid        = act.getGrid();
-      mObjectEffects = act.getQueues();
+      mObjectEffects     = act.getEffects();
       mBackgroundTexture = new DistortedTexture(100,100);
       mCenterTexture     = new DistortedTexture(100,100);
       mRegionTexture     = new DistortedTexture(100,100);
       mQuad              = new GridFlat(1,1);
-      mBackgroundEffects = new DistortedEffectQueues();
-      mCenterEffects = new DistortedEffectQueues();
-      mRegionEffects = new DistortedEffectQueues();
+      mBackgroundEffects = new DistortedEffects();
+      mCenterEffects     = new DistortedEffects();
+      mRegionEffects     = new DistortedEffects();
 
       mObjWidth = mObjectTexture.getWidth();
       mObjHeight= mObjectTexture.getHeight();
diff --git a/src/main/java/org/distorted/examples/fbo/FBORenderer.java b/src/main/java/org/distorted/examples/fbo/FBORenderer.java
index c8af2b2..5d09615 100644
--- a/src/main/java/org/distorted/examples/fbo/FBORenderer.java
+++ b/src/main/java/org/distorted/examples/fbo/FBORenderer.java
@@ -27,13 +27,13 @@ import javax.microedition.khronos.opengles.GL10;
 
 import org.distorted.examples.R;
 
+import org.distorted.library.DistortedEffects;
 import org.distorted.library.DistortedFramebuffer;
-import org.distorted.library.DistortedObjectTree;
+import org.distorted.library.DistortedTree;
 import org.distorted.library.Distorted;
 import org.distorted.library.GridCubes;
 import org.distorted.library.GridFlat;
 import org.distorted.library.DistortedTexture;
-import org.distorted.library.DistortedEffectQueues;
 import org.distorted.library.EffectTypes;
 import org.distorted.library.type.Dynamic;
 import org.distorted.library.type.Dynamic1D;
@@ -50,9 +50,9 @@ import android.opengl.GLSurfaceView;
 class FBORenderer implements GLSurfaceView.Renderer 
 {
    private GLSurfaceView mView;
-   private DistortedEffectQueues mEffects;
+   private DistortedEffects mEffects;
    private DistortedFramebuffer mScreen;
-   private DistortedObjectTree mRoot;
+   private DistortedTree mRoot;
    private int lisaHeight, lisaWidth;
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
@@ -60,7 +60,7 @@ class FBORenderer implements GLSurfaceView.Renderer
    FBORenderer(GLSurfaceView v)
       {
       mView   = v;
-      mEffects= new DistortedEffectQueues();
+      mEffects= new DistortedEffects();
       mScreen = new DistortedFramebuffer(0);
       }
 
@@ -133,30 +133,30 @@ class FBORenderer implements GLSurfaceView.Renderer
       DistortedTexture text = new DistortedTexture(textWidth,textHeight);
       lisa.setTexture(bitmap1);
       text.setTexture(bitmap2);
-      DistortedEffectQueues textQueues = new DistortedEffectQueues();
+      DistortedEffects textEffects = new DistortedEffects();
 
       mEffects.abortAllEffects();
 
-      mRoot = new DistortedObjectTree(lisa, mEffects,new GridFlat(1,1));
-      mRoot.attach(text,textQueues,new GridCubes(20,5,false));
+      mRoot = new DistortedTree(lisa, mEffects,new GridFlat(1,1));
+      mRoot.attach(text,textEffects,new GridCubes(20,5,false));
 
       float factor = lisaWidth/(2.0f*textWidth);
 
-      textQueues.move( new Static3D( (lisaWidth-factor*textWidth)/2,(lisaHeight-factor*textHeight)/2,0) );
-      textQueues.scale(factor);
+      textEffects.move( new Static3D( (lisaWidth-factor*textWidth)/2,(lisaHeight-factor*textHeight)/2,0) );
+      textEffects.scale(factor);
 
       Dynamic1D rotDyn = new Dynamic1D(12000,0.0f);
       rotDyn.add(new Static1D(  0));
       rotDyn.add(new Static1D(360));
       rotDyn.setMode(Dynamic.MODE_JUMP);
 
-      textQueues.rotate(rotDyn, new Static3D(1,0,0), new Static3D(textWidth/2,textHeight/2,textHeight/10) );
+      textEffects.rotate(rotDyn, new Static3D(1,0,0), new Static3D(textWidth/2,textHeight/2,textHeight/10) );
 
       Dynamic1D sinkDyn = new Dynamic1D(3000,0.0f);
       sinkDyn.add(new Static1D(1.0f));
       sinkDyn.add(new Static1D(0.3f));
 
-      textQueues.sink(sinkDyn, new Static3D(textWidth/2,textHeight/2, 0));
+      textEffects.sink(sinkDyn, new Static3D(textWidth/2,textHeight/2, 0));
 
       Dynamic1D chromaDyn = new Dynamic1D(5000,0.0f);
       chromaDyn.add(new Static1D(0.0f));
diff --git a/src/main/java/org/distorted/examples/flag/FlagRenderer.java b/src/main/java/org/distorted/examples/flag/FlagRenderer.java
index 2f7f747..6fdc4d5 100644
--- a/src/main/java/org/distorted/examples/flag/FlagRenderer.java
+++ b/src/main/java/org/distorted/examples/flag/FlagRenderer.java
@@ -26,9 +26,9 @@ import android.opengl.GLSurfaceView;
 
 import org.distorted.examples.R;
 import org.distorted.library.Distorted;
+import org.distorted.library.DistortedEffects;
 import org.distorted.library.DistortedFramebuffer;
 import org.distorted.library.GridCubes;
-import org.distorted.library.DistortedEffectQueues;
 import org.distorted.library.DistortedTexture;
 import org.distorted.library.EffectTypes;
 import org.distorted.library.type.Dynamic;
@@ -49,7 +49,7 @@ import javax.microedition.khronos.opengles.GL10;
 class FlagRenderer implements GLSurfaceView.Renderer
 {
     private GLSurfaceView mView;
-    private DistortedEffectQueues mEffects;
+    private DistortedEffects mEffects;
     private DistortedTexture mTexture;
     private DistortedFramebuffer mScreen;
     private GridCubes mGrid;
@@ -67,7 +67,7 @@ class FlagRenderer implements GLSurfaceView.Renderer
       {
       mView = v;
 
-      mEffects = new DistortedEffectQueues();
+      mEffects = new DistortedEffects();
       mGrid    = new GridCubes(50,30,false);
       mTexture = new DistortedTexture(500,300);
 
diff --git a/src/main/java/org/distorted/examples/girl/GirlRenderer.java b/src/main/java/org/distorted/examples/girl/GirlRenderer.java
index a2ace98..67198d1 100644
--- a/src/main/java/org/distorted/examples/girl/GirlRenderer.java
+++ b/src/main/java/org/distorted/examples/girl/GirlRenderer.java
@@ -31,7 +31,7 @@ import org.distorted.library.Distorted;
 import org.distorted.library.DistortedFramebuffer;
 import org.distorted.library.GridFlat;
 import org.distorted.library.DistortedTexture;
-import org.distorted.library.DistortedEffectQueues;
+import org.distorted.library.DistortedEffects;
 import org.distorted.library.EffectTypes;
 import org.distorted.library.type.Dynamic1D;
 import org.distorted.library.type.Dynamic3D;
@@ -50,7 +50,7 @@ class GirlRenderer implements GLSurfaceView.Renderer
 {
     private GLSurfaceView mView;
     private DistortedTexture mTexture;
-    private DistortedEffectQueues mEffects;
+    private DistortedEffects mEffects;
     private DistortedFramebuffer mScreen;
     private GridFlat mGrid;
     private Static3D v0,v1,v2,v3;
@@ -111,7 +111,7 @@ class GirlRenderer implements GLSurfaceView.Renderer
       diHips.add(dMiddle);
       diHips.add(dBegin);
 
-      mEffects = new DistortedEffectQueues();
+      mEffects = new DistortedEffects();
 
       mEffects.sink( diSink, pLeft, sinkRegion );
       mEffects.sink( diSink, pRight,sinkRegion );
diff --git a/src/main/java/org/distorted/examples/listener/ListenerRenderer.java b/src/main/java/org/distorted/examples/listener/ListenerRenderer.java
index 29e13d8..47dadf2 100644
--- a/src/main/java/org/distorted/examples/listener/ListenerRenderer.java
+++ b/src/main/java/org/distorted/examples/listener/ListenerRenderer.java
@@ -32,7 +32,7 @@ import org.distorted.library.Distorted;
 import org.distorted.library.DistortedFramebuffer;
 import org.distorted.library.GridFlat;
 import org.distorted.library.DistortedTexture;
-import org.distorted.library.DistortedEffectQueues;
+import org.distorted.library.DistortedEffects;
 import org.distorted.library.EffectNames;
 import org.distorted.library.EffectTypes;
 import org.distorted.library.type.Dynamic3D;
@@ -54,7 +54,7 @@ class ListenerRenderer implements GLSurfaceView.Renderer,EffectListener
 
    private GLSurfaceView mView;
    private DistortedTexture mTexture;
-   private DistortedEffectQueues mEffects;
+   private DistortedEffects mEffects;
    private DistortedFramebuffer mScreen;
    private GridFlat mGrid;
    private int bmpHeight, bmpWidth;
@@ -66,7 +66,7 @@ class ListenerRenderer implements GLSurfaceView.Renderer,EffectListener
       {
       Distorted.setMaxVertex(NUM_BUBBLES);   
       mView = v;
-      mEffects = new DistortedEffectQueues();
+      mEffects = new DistortedEffects();
       mEffects.registerForMessages(this);
       mScreen = new DistortedFramebuffer(0);
       mRnd = new Random(0);
diff --git a/src/main/java/org/distorted/examples/matrix3d/Matrix3DActivity.java b/src/main/java/org/distorted/examples/matrix3d/Matrix3DActivity.java
index f462109..7084da2 100644
--- a/src/main/java/org/distorted/examples/matrix3d/Matrix3DActivity.java
+++ b/src/main/java/org/distorted/examples/matrix3d/Matrix3DActivity.java
@@ -32,7 +32,7 @@ import android.widget.Spinner;
 
 import org.distorted.examples.R;
 import org.distorted.library.Distorted;
-import org.distorted.library.DistortedEffectQueues;
+import org.distorted.library.DistortedEffects;
 import org.distorted.library.GridObject;
 import org.distorted.library.GridCubes;
 import org.distorted.library.DistortedTexture;
@@ -49,9 +49,9 @@ public class Matrix3DActivity extends Activity implements AdapterView.OnItemSele
   {
   private DistortedTexture mTexture;
   private GridObject mGrid;
-  private DistortedEffectQueues mQueues;
+  private DistortedEffects mEffects;
 
-  private ArrayList<Matrix3DEffect> mEffects;
+  private ArrayList<Matrix3DEffect> mList;
   private int mEffectAdd;
 
   private EffectNames[] mEffectNames;
@@ -65,11 +65,11 @@ public class Matrix3DActivity extends Activity implements AdapterView.OnItemSele
     {
     super.onCreate(savedState);
 
-    mEffects = new ArrayList<>();
+    mList = new ArrayList<>();
 
     createEffectNames();
 
-    mQueues = new DistortedEffectQueues();
+    mEffects = new DistortedEffects();
     mGrid   = new GridCubes(1,1,false);
     mTexture= new DistortedTexture(100,100);
 
@@ -102,9 +102,9 @@ public class Matrix3DActivity extends Activity implements AdapterView.OnItemSele
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  public DistortedEffectQueues getQueues()
+  public DistortedEffects getEffects()
     {
-    return mQueues;
+    return mEffects;
     }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
@@ -277,7 +277,7 @@ public class Matrix3DActivity extends Activity implements AdapterView.OnItemSele
   public void newEffect(View v)
     {
     Matrix3DEffect eff = new Matrix3DEffect(mEffectNames[mEffectAdd], this);
-    mEffects.add(eff);
+    mList.add(eff);
 
     LinearLayout layout = (LinearLayout)findViewById(R.id.matrix3dlayout);
     View view = eff.createView();
@@ -289,17 +289,17 @@ public class Matrix3DActivity extends Activity implements AdapterView.OnItemSele
       layout.addView(center);
       }
 
-    eff.apply(mQueues);
+    eff.apply(mEffects);
     }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
   public void removeAll(View v)
     {
-    mEffects.clear();
+    mList.clear();
     LinearLayout layout = (LinearLayout)findViewById(R.id.matrix3dlayout);
     layout.removeAllViews();
-    mQueues.abortEffects(EffectTypes.MATRIX);
+    mEffects.abortEffects(EffectTypes.MATRIX);
 
     resetData();
     }
@@ -308,7 +308,7 @@ public class Matrix3DActivity extends Activity implements AdapterView.OnItemSele
 
   public void remove(View v)
     {
-    for(Matrix3DEffect effect: mEffects)
+    for(Matrix3DEffect effect: mList)
       {
       if( effect.thisView(v) )
         {
@@ -322,8 +322,8 @@ public class Matrix3DActivity extends Activity implements AdapterView.OnItemSele
         view = effect.getRegion();
         if( view!=null ) layout.removeView(view);
 
-        mQueues.abortEffect(effect.getId());
-        mEffects.remove(effect);
+        mEffects.abortEffect(effect.getId());
+        mList.remove(effect);
 
         resetData();
 
diff --git a/src/main/java/org/distorted/examples/matrix3d/Matrix3DEffect.java b/src/main/java/org/distorted/examples/matrix3d/Matrix3DEffect.java
index 2fac1b9..b0e3feb 100644
--- a/src/main/java/org/distorted/examples/matrix3d/Matrix3DEffect.java
+++ b/src/main/java/org/distorted/examples/matrix3d/Matrix3DEffect.java
@@ -24,7 +24,7 @@ import android.widget.SeekBar;
 import android.widget.TextView;
 
 import org.distorted.examples.R;
-import org.distorted.library.DistortedEffectQueues;
+import org.distorted.library.DistortedEffects;
 import org.distorted.library.EffectNames;
 import org.distorted.library.EffectTypes;
 import org.distorted.library.type.Dynamic1D;
@@ -77,33 +77,33 @@ class Matrix3DEffect implements SeekBar.OnSeekBarChangeListener
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 // requires knowledge about effect nature
 
-  void apply(DistortedEffectQueues queues)
+  void apply(DistortedEffects effects)
     {
     switch(mName)
       {
-      case ROTATE           : mId = queues.rotate    (mDyn4, mCenterDyn); break;
-      case QUATERNION       : mId = queues.quaternion(mDyn4, mCenterDyn); break;
-      case MOVE             : mId = queues.move      (mDyn3)            ; break;
-      case SCALE            : mId = queues.scale     (mDyn3)            ; break;
-      case SHEAR            : mId = queues.shear     (mDyn3, mCenterDyn); break;
-
-      case DISTORT          : mId = queues.distort   (mDyn3, mCenterDyn, mRegionDyn); break;
-      case DEFORM           : mId = queues.deform    (mDyn3, mCenterDyn, mRegionDyn); break;
-      case SINK             : mId = queues.sink      (mDyn1, mCenterDyn, mRegionDyn); break;
-      case PINCH            : mId = queues.pinch     (mDyn2, mCenterDyn, mRegionDyn); break;
-      case SWIRL            : mId = queues.swirl     (mDyn1, mCenterDyn, mRegionDyn); break;
-      case WAVE             : mId = queues.wave      (mDyn5, mCenterDyn, mRegionDyn); break;
-
-      case ALPHA            : mId = queues.alpha     (mDyn1,        mRegionDyn, false); break;
-      case SMOOTH_ALPHA     : mId = queues.alpha     (mDyn1,        mRegionDyn, true ); break;
-      case CHROMA           : mId = queues.chroma    (mDyn1, mDyn3, mRegionDyn, false); break;
-      case SMOOTH_CHROMA    : mId = queues.chroma    (mDyn1, mDyn3, mRegionDyn, true ); break;
-      case BRIGHTNESS       : mId = queues.brightness(mDyn1,        mRegionDyn, false); break;
-      case SMOOTH_BRIGHTNESS: mId = queues.brightness(mDyn1,        mRegionDyn, true ); break;
-      case SATURATION       : mId = queues.saturation(mDyn1,        mRegionDyn, false); break;
-      case SMOOTH_SATURATION: mId = queues.saturation(mDyn1,        mRegionDyn, true ); break;
-      case CONTRAST         : mId = queues.contrast  (mDyn1,        mRegionDyn, false); break;
-      case SMOOTH_CONTRAST  : mId = queues.contrast  (mDyn1,        mRegionDyn, true ); break;
+      case ROTATE           : mId = effects.rotate    (mDyn4, mCenterDyn); break;
+      case QUATERNION       : mId = effects.quaternion(mDyn4, mCenterDyn); break;
+      case MOVE             : mId = effects.move      (mDyn3)            ; break;
+      case SCALE            : mId = effects.scale     (mDyn3)            ; break;
+      case SHEAR            : mId = effects.shear     (mDyn3, mCenterDyn); break;
+
+      case DISTORT          : mId = effects.distort   (mDyn3, mCenterDyn, mRegionDyn); break;
+      case DEFORM           : mId = effects.deform    (mDyn3, mCenterDyn, mRegionDyn); break;
+      case SINK             : mId = effects.sink      (mDyn1, mCenterDyn, mRegionDyn); break;
+      case PINCH            : mId = effects.pinch     (mDyn2, mCenterDyn, mRegionDyn); break;
+      case SWIRL            : mId = effects.swirl     (mDyn1, mCenterDyn, mRegionDyn); break;
+      case WAVE             : mId = effects.wave      (mDyn5, mCenterDyn, mRegionDyn); break;
+
+      case ALPHA            : mId = effects.alpha     (mDyn1,        mRegionDyn, false); break;
+      case SMOOTH_ALPHA     : mId = effects.alpha     (mDyn1,        mRegionDyn, true ); break;
+      case CHROMA           : mId = effects.chroma    (mDyn1, mDyn3, mRegionDyn, false); break;
+      case SMOOTH_CHROMA    : mId = effects.chroma    (mDyn1, mDyn3, mRegionDyn, true ); break;
+      case BRIGHTNESS       : mId = effects.brightness(mDyn1,        mRegionDyn, false); break;
+      case SMOOTH_BRIGHTNESS: mId = effects.brightness(mDyn1,        mRegionDyn, true ); break;
+      case SATURATION       : mId = effects.saturation(mDyn1,        mRegionDyn, false); break;
+      case SMOOTH_SATURATION: mId = effects.saturation(mDyn1,        mRegionDyn, true ); break;
+      case CONTRAST         : mId = effects.contrast  (mDyn1,        mRegionDyn, false); break;
+      case SMOOTH_CONTRAST  : mId = effects.contrast  (mDyn1,        mRegionDyn, true ); break;
 
       default: mId = -1;
       }
diff --git a/src/main/java/org/distorted/examples/matrix3d/Matrix3DRenderer.java b/src/main/java/org/distorted/examples/matrix3d/Matrix3DRenderer.java
index 147c0d0..b07a614 100644
--- a/src/main/java/org/distorted/examples/matrix3d/Matrix3DRenderer.java
+++ b/src/main/java/org/distorted/examples/matrix3d/Matrix3DRenderer.java
@@ -23,7 +23,7 @@ import android.opengl.GLES20;
 import android.opengl.GLSurfaceView;
 
 import org.distorted.library.Distorted;
-import org.distorted.library.DistortedEffectQueues;
+import org.distorted.library.DistortedEffects;
 import org.distorted.library.DistortedFramebuffer;
 import org.distorted.library.GridObject;
 import org.distorted.library.DistortedTexture;
@@ -37,7 +37,7 @@ class Matrix3DRenderer implements GLSurfaceView.Renderer
 {
     private GLSurfaceView mView;
     private DistortedTexture mTexture;
-    private DistortedEffectQueues mEffects;
+    private DistortedEffects mEffects;
     private DistortedFramebuffer mScreen;
     private GridObject mGrid;
 
@@ -51,7 +51,7 @@ class Matrix3DRenderer implements GLSurfaceView.Renderer
 
       Matrix3DActivity act = (Matrix3DActivity)v.getContext();
 
-      mEffects = act.getQueues();
+      mEffects= act.getEffects();
       mTexture= act.getTexture();
       mGrid   = act.getGrid();
       mScreen = new DistortedFramebuffer(0);
diff --git a/src/main/java/org/distorted/examples/monalisa/MonaLisaRenderer.java b/src/main/java/org/distorted/examples/monalisa/MonaLisaRenderer.java
index 2afed71..65f9105 100644
--- a/src/main/java/org/distorted/examples/monalisa/MonaLisaRenderer.java
+++ b/src/main/java/org/distorted/examples/monalisa/MonaLisaRenderer.java
@@ -27,9 +27,9 @@ import javax.microedition.khronos.opengles.GL10;
 
 import org.distorted.examples.R;
 import org.distorted.library.Distorted;
+import org.distorted.library.DistortedEffects;
 import org.distorted.library.DistortedFramebuffer;
 import org.distorted.library.DistortedTexture;
-import org.distorted.library.DistortedEffectQueues;
 import org.distorted.library.GridFlat;
 import org.distorted.library.EffectTypes;
 import org.distorted.library.type.Dynamic3D;
@@ -47,7 +47,7 @@ class MonaLisaRenderer implements GLSurfaceView.Renderer
 {
     private GLSurfaceView mView;
     private DistortedTexture mTexture;
-    private DistortedEffectQueues mEffects;
+    private DistortedEffects mEffects;
     private DistortedFramebuffer mScreen;
     private GridFlat mGrid;
     private int bmpHeight, bmpWidth;
@@ -70,7 +70,7 @@ class MonaLisaRenderer implements GLSurfaceView.Renderer
       dRight.add( new Static3D(  0,  0,0) );
       dRight.add( new Static3D( 20,-10,0) );
 
-      mEffects = new DistortedEffectQueues();
+      mEffects = new DistortedEffects();
       mEffects.distort( dLeft, pLeft , rLeft );
       mEffects.distort(dRight, pRight, rRight);
 
diff --git a/src/main/java/org/distorted/examples/movingeffects/MovingEffectsRenderer.java b/src/main/java/org/distorted/examples/movingeffects/MovingEffectsRenderer.java
index 2f26204..554eeae 100644
--- a/src/main/java/org/distorted/examples/movingeffects/MovingEffectsRenderer.java
+++ b/src/main/java/org/distorted/examples/movingeffects/MovingEffectsRenderer.java
@@ -31,7 +31,7 @@ import android.opengl.GLSurfaceView;
 
 import org.distorted.library.DistortedFramebuffer;
 import org.distorted.library.DistortedTexture;
-import org.distorted.library.DistortedEffectQueues;
+import org.distorted.library.DistortedEffects;
 import org.distorted.library.GridFlat;
 import org.distorted.library.Distorted;
 
@@ -46,7 +46,7 @@ class MovingEffectsRenderer implements GLSurfaceView.Renderer
    private int texW, texH;
 
    private GridFlat mGrid;
-   private DistortedEffectQueues mEffects;
+   private DistortedEffects mEffects;
    private DistortedTexture mTexture;
    private DistortedFramebuffer mScreen;
    private boolean mRefresh;
@@ -61,7 +61,7 @@ class MovingEffectsRenderer implements GLSurfaceView.Renderer
      mPaint.setStyle(Style.FILL);
 
      mView   = v;
-     mEffects= new DistortedEffectQueues();
+     mEffects= new DistortedEffects();
      mScreen = new DistortedFramebuffer(0);
      mRefresh= true;
      }
@@ -93,7 +93,7 @@ class MovingEffectsRenderer implements GLSurfaceView.Renderer
    
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-   DistortedEffectQueues getQueues()
+   DistortedEffects getEffects()
      {
      return mEffects;
      }
diff --git a/src/main/java/org/distorted/examples/movingeffects/MovingEffectsSurfaceView.java b/src/main/java/org/distorted/examples/movingeffects/MovingEffectsSurfaceView.java
index a920305..1136c53 100644
--- a/src/main/java/org/distorted/examples/movingeffects/MovingEffectsSurfaceView.java
+++ b/src/main/java/org/distorted/examples/movingeffects/MovingEffectsSurfaceView.java
@@ -27,7 +27,7 @@ import android.opengl.GLSurfaceView;
 import android.view.MotionEvent;
 import android.util.AttributeSet;
 
-import org.distorted.library.DistortedEffectQueues;
+import org.distorted.library.DistortedEffects;
 import org.distorted.library.EffectTypes;
 import org.distorted.library.type.Dynamic3D;
 import org.distorted.library.type.Dynamic4D;
@@ -119,7 +119,7 @@ public class MovingEffectsSurfaceView extends GLSurfaceView
       
       synchronized(lock)
         {
-        DistortedEffectQueues q = mRenderer.getQueues();
+        DistortedEffects q = mRenderer.getEffects();
         q.abortEffects(EffectTypes.VERTEX);
         q.abortEffects(EffectTypes.FRAGMENT);
         q.distort( new Static3D(0,0,mMax/10) , di3D, dr);
@@ -135,7 +135,7 @@ public class MovingEffectsSurfaceView extends GLSurfaceView
          
       synchronized(lock)
         {
-        DistortedEffectQueues q = mRenderer.getQueues();
+        DistortedEffects q = mRenderer.getEffects();
         q.abortEffects(EffectTypes.VERTEX);
         q.abortEffects(EffectTypes.FRAGMENT);
         q.sink(new Static1D(10), di3D, dr);
@@ -151,7 +151,7 @@ public class MovingEffectsSurfaceView extends GLSurfaceView
          
       synchronized(lock)
         {
-        DistortedEffectQueues q = mRenderer.getQueues();
+        DistortedEffects q = mRenderer.getEffects();
         q.abortEffects(EffectTypes.VERTEX);
         q.abortEffects(EffectTypes.FRAGMENT);
         q.chroma(new Static1D(0.5f), new Static3D(1,0,0), mRegion, true);
@@ -167,7 +167,7 @@ public class MovingEffectsSurfaceView extends GLSurfaceView
       
       synchronized(lock)
         {
-        DistortedEffectQueues q = mRenderer.getQueues();
+        DistortedEffects q = mRenderer.getEffects();
         q.abortEffects(EffectTypes.VERTEX);
         q.abortEffects(EffectTypes.FRAGMENT);
         q.alpha(new Static1D(0.5f), mRegion, true);
@@ -183,7 +183,7 @@ public class MovingEffectsSurfaceView extends GLSurfaceView
       
       synchronized(lock)
         {
-        DistortedEffectQueues q = mRenderer.getQueues();
+        DistortedEffects q = mRenderer.getEffects();
         q.abortEffects(EffectTypes.VERTEX);
         q.abortEffects(EffectTypes.FRAGMENT);
         q.swirl( new Static1D(30), di3D, dr);
@@ -197,7 +197,7 @@ public class MovingEffectsSurfaceView extends GLSurfaceView
       {
       synchronized(lock)
         {
-        DistortedEffectQueues q = mRenderer.getQueues();
+        DistortedEffects q = mRenderer.getEffects();
         q.abortEffects(EffectTypes.VERTEX);
         q.abortEffects(EffectTypes.FRAGMENT);
         di3D.removeAll();
diff --git a/src/main/java/org/distorted/examples/olimpic/OlimpicRenderer.java b/src/main/java/org/distorted/examples/olimpic/OlimpicRenderer.java
index 1b791a2..d769519 100644
--- a/src/main/java/org/distorted/examples/olimpic/OlimpicRenderer.java
+++ b/src/main/java/org/distorted/examples/olimpic/OlimpicRenderer.java
@@ -27,15 +27,15 @@ import javax.microedition.khronos.opengles.GL10;
 
 import org.distorted.examples.R;
 
+import org.distorted.library.DistortedEffects;
 import org.distorted.library.DistortedFramebuffer;
-import org.distorted.library.DistortedObjectTree;
+import org.distorted.library.DistortedTree;
 import org.distorted.library.EffectTypes;
 import org.distorted.library.type.Dynamic1D;
 import org.distorted.library.type.Static3D;
 import org.distorted.library.type.Static1D;
 import org.distorted.library.Distorted;
 import org.distorted.library.GridFlat;
-import org.distorted.library.DistortedEffectQueues;
 import org.distorted.library.DistortedTexture;
 
 import android.graphics.Bitmap;
@@ -52,7 +52,7 @@ class OlimpicRenderer implements GLSurfaceView.Renderer
    private static final int NUM_LEAVES  = 8;
    
    private GLSurfaceView mView;
-   private DistortedObjectTree mRoot;
+   private DistortedTree mRoot;
    private DistortedTexture mLeaf;
    private DistortedFramebuffer mScreen;
    private int mScreenW, mScreenH;
@@ -65,18 +65,18 @@ class OlimpicRenderer implements GLSurfaceView.Renderer
 
       mLeaf = new DistortedTexture(LEAF_SIZE,LEAF_SIZE);
       GridFlat grid = new GridFlat(1,1);
-      DistortedEffectQueues effects = new DistortedEffectQueues();
+      DistortedEffects effects = new DistortedEffects();
 
       mScreenW = 9*LEAF_SIZE;
       mScreenH = 9*LEAF_SIZE;
-      mRoot = new DistortedObjectTree(new DistortedTexture(mScreenW,mScreenH), effects, grid);
+      mRoot = new DistortedTree(new DistortedTexture(mScreenW,mScreenH), effects, grid);
      
       Dynamic1D rot = new Dynamic1D(5000,0.0f);
       rot.setMode(Dynamic1D.MODE_JUMP);
       rot.add(new Static1D(  0));
       rot.add(new Static1D(360));
       
-      DistortedObjectTree[] mCircleNode = new DistortedObjectTree[NUM_CIRCLES];
+      DistortedTree[] mCircleNode = new DistortedTree[NUM_CIRCLES];
     
       int[] colors    = new int[] {0,0,1,  0,0,0,  1,0,0,  1,1,0,  0,1,0}; // blue, black, red, yellow, green  
       int[] positions = new int[] {0,2*LEAF_SIZE,  3*LEAF_SIZE,2*LEAF_SIZE,  6*LEAF_SIZE,2*LEAF_SIZE,  3*LEAF_SIZE/2,9*LEAF_SIZE/2,  9*LEAF_SIZE/2,9*LEAF_SIZE/2};
@@ -89,12 +89,12 @@ class OlimpicRenderer implements GLSurfaceView.Renderer
         {
         if( i<=1 )
           {
-          effects = new DistortedEffectQueues();
-          mCircleNode[i] = new DistortedObjectTree(new DistortedTexture(3*LEAF_SIZE,3*LEAF_SIZE), effects, grid);
+          effects = new DistortedEffects();
+          mCircleNode[i] = new DistortedTree(new DistortedTexture(3*LEAF_SIZE,3*LEAF_SIZE), effects, grid);
         
           for(int j=0; j<NUM_LEAVES-i; j++)
             {
-            effects = new DistortedEffectQueues();
+            effects = new DistortedEffects();
             mCircleNode[i].attach(mLeaf, effects, grid);
             effects.rotate( new Static1D(j*(360/NUM_LEAVES)), axis, center );
             effects.move(moveVector);
@@ -102,11 +102,11 @@ class OlimpicRenderer implements GLSurfaceView.Renderer
           }
         else
           {
-          mCircleNode[i] = new DistortedObjectTree(mCircleNode[0], Distorted.CLONE_BITMAP|Distorted.CLONE_CHILDREN);
+          mCircleNode[i] = new DistortedTree(mCircleNode[0], Distorted.CLONE_BITMAP|Distorted.CLONE_CHILDREN);
           }
 
         mRoot.attach(mCircleNode[i]);
-        effects = mCircleNode[i].getQueues();
+        effects = mCircleNode[i].getEffects();
         effects.move( new Static3D(positions[2*i], positions[2*i+1], 0) );
         effects.rotate( rot, axis, center );
         effects.chroma( new Static1D(0.5f), new Static3D(colors[3*i],colors[3*i+1], colors[3*i+2]) );
@@ -127,7 +127,7 @@ class OlimpicRenderer implements GLSurfaceView.Renderer
     
     public void onSurfaceChanged(GL10 glUnused, int width, int height) 
       {
-      DistortedEffectQueues effects = mRoot.getQueues();
+      DistortedEffects effects = mRoot.getEffects();
 
       effects.abortEffects(EffectTypes.MATRIX);
       
diff --git a/src/main/java/org/distorted/examples/plainmonalisa/RenderThread.java b/src/main/java/org/distorted/examples/plainmonalisa/RenderThread.java
index 1327f6e..202f170 100644
--- a/src/main/java/org/distorted/examples/plainmonalisa/RenderThread.java
+++ b/src/main/java/org/distorted/examples/plainmonalisa/RenderThread.java
@@ -31,10 +31,10 @@ import android.view.SurfaceHolder;
 import android.view.SurfaceView;
 
 import org.distorted.library.Distorted;
+import org.distorted.library.DistortedEffects;
 import org.distorted.library.DistortedFramebuffer;
 import org.distorted.library.GridFlat;
 import org.distorted.library.DistortedTexture;
-import org.distorted.library.DistortedEffectQueues;
 import org.distorted.library.EffectTypes;
 import org.distorted.library.type.Dynamic3D;
 import org.distorted.library.type.Static3D;
@@ -63,7 +63,7 @@ class RenderThread extends Thread
   private EGLSurface eglSurface;
 
   private DistortedTexture mTexture;
-  private DistortedEffectQueues mEffects;
+  private DistortedEffects mEffects;
   private DistortedFramebuffer mScreen;
   private GridFlat mGrid;
   private int bmpHeight, bmpWidth;
@@ -91,7 +91,7 @@ class RenderThread extends Thread
     dRight.add( new Static3D(  0,  0,0) );
     dRight.add( new Static3D( 20,-10,0) );
 
-    mEffects = new DistortedEffectQueues();
+    mEffects = new DistortedEffects();
     mEffects.distort( dLeft, pLeft , rLeft );
     mEffects.distort(dRight, pRight, rRight);
 
diff --git a/src/main/java/org/distorted/examples/projection/ProjectionRenderer.java b/src/main/java/org/distorted/examples/projection/ProjectionRenderer.java
index 847f170..ab25552 100644
--- a/src/main/java/org/distorted/examples/projection/ProjectionRenderer.java
+++ b/src/main/java/org/distorted/examples/projection/ProjectionRenderer.java
@@ -23,10 +23,10 @@ import javax.microedition.khronos.egl.EGLConfig;
 import javax.microedition.khronos.opengles.GL10;
 
 import org.distorted.library.Distorted;
+import org.distorted.library.DistortedEffects;
 import org.distorted.library.DistortedFramebuffer;
 import org.distorted.library.GridFlat;
 import org.distorted.library.DistortedTexture;
-import org.distorted.library.DistortedEffectQueues;
 import org.distorted.library.type.Static3D;
 import org.distorted.library.type.Static4D;
 
@@ -43,7 +43,7 @@ class ProjectionRenderer implements GLSurfaceView.Renderer
 {
    private GLSurfaceView mView;
    private DistortedTexture mTexture;
-   private DistortedEffectQueues mEffects;
+   private DistortedEffects mEffects;
    private DistortedFramebuffer mScreen;
    private GridFlat mGrid;
 
@@ -55,7 +55,7 @@ class ProjectionRenderer implements GLSurfaceView.Renderer
    ProjectionRenderer(GLSurfaceView view)
       { 
       mView   = view;
-      mEffects= new DistortedEffectQueues();
+      mEffects= new DistortedEffects();
       mScreen = new DistortedFramebuffer(0);
       }
 
diff --git a/src/main/java/org/distorted/examples/quaternion/QuaternionRenderer.java b/src/main/java/org/distorted/examples/quaternion/QuaternionRenderer.java
index 5614887..e6d0584 100644
--- a/src/main/java/org/distorted/examples/quaternion/QuaternionRenderer.java
+++ b/src/main/java/org/distorted/examples/quaternion/QuaternionRenderer.java
@@ -28,13 +28,13 @@ import javax.microedition.khronos.opengles.GL10;
 
 import org.distorted.examples.R;
 
+import org.distorted.library.DistortedEffects;
 import org.distorted.library.DistortedFramebuffer;
 import org.distorted.library.EffectTypes;
 import org.distorted.library.type.Dynamic;
 import org.distorted.library.type.DynamicQuat;
 import org.distorted.library.GridCubes;
 import org.distorted.library.DistortedTexture;
-import org.distorted.library.DistortedEffectQueues;
 import org.distorted.library.type.Static4D;
 import org.distorted.library.type.Static3D;
 import org.distorted.library.Distorted;
@@ -52,7 +52,7 @@ class QuaternionRenderer implements GLSurfaceView.Renderer
 
   private GLSurfaceView mView;
   private DistortedTexture mTexture;
-  private DistortedEffectQueues mEffects;
+  private DistortedEffects mEffects;
   private DistortedFramebuffer mScreen;
   private GridCubes mGrid;
   private DynamicQuat mRot;
@@ -64,7 +64,7 @@ class QuaternionRenderer implements GLSurfaceView.Renderer
     mView    = v;
     mGrid    = new GridCubes(1,1,false);
     mTexture = new DistortedTexture(1,1);
-    mEffects = new DistortedEffectQueues();
+    mEffects = new DistortedEffects();
     mRot     = new DynamicQuat();
 
     Random rnd = new Random(System.currentTimeMillis());
diff --git a/src/main/java/org/distorted/examples/save/SaveRenderer.java b/src/main/java/org/distorted/examples/save/SaveRenderer.java
index 0deee39..cb1ecbe 100644
--- a/src/main/java/org/distorted/examples/save/SaveRenderer.java
+++ b/src/main/java/org/distorted/examples/save/SaveRenderer.java
@@ -31,7 +31,7 @@ import javax.microedition.khronos.opengles.GL10;
 import org.distorted.examples.R;
 
 import org.distorted.library.Distorted;
-import org.distorted.library.DistortedEffectQueues;
+import org.distorted.library.DistortedEffects;
 import org.distorted.library.DistortedTexture;
 import org.distorted.library.GridFlat;
 import org.distorted.library.DistortedFramebuffer;
@@ -54,7 +54,7 @@ class SaveRenderer implements GLSurfaceView.Renderer
   {
   private GLSurfaceView mView;
   private DistortedTexture mGirl;
-  private DistortedEffectQueues mEffects;
+  private DistortedEffects mEffects;
   private GridFlat mGrid;
   private DistortedFramebuffer mScreen, mOffscreen;
   private Static1D s0;
@@ -91,7 +91,7 @@ class SaveRenderer implements GLSurfaceView.Renderer
     mScaleFactor = new Static3D(mScale,mScale,1.0f);
     mScaleDyn.add(mScaleFactor);
 
-    mEffects = new DistortedEffectQueues();
+    mEffects = new DistortedEffects();
     mEffects.sink( diSink, pLeft , sinkRegion);
     mEffects.sink( diSink, pRight, sinkRegion);
 
diff --git a/src/main/java/org/distorted/examples/sink/SinkRenderer.java b/src/main/java/org/distorted/examples/sink/SinkRenderer.java
index c232dea..ecc113b 100644
--- a/src/main/java/org/distorted/examples/sink/SinkRenderer.java
+++ b/src/main/java/org/distorted/examples/sink/SinkRenderer.java
@@ -28,10 +28,10 @@ import javax.microedition.khronos.opengles.GL10;
 import org.distorted.examples.R;
 
 import org.distorted.library.Distorted;
+import org.distorted.library.DistortedEffects;
 import org.distorted.library.DistortedFramebuffer;
 import org.distorted.library.GridFlat;
 import org.distorted.library.DistortedTexture;
-import org.distorted.library.DistortedEffectQueues;
 import org.distorted.library.EffectTypes;
 import org.distorted.library.type.Dynamic1D;
 import org.distorted.library.type.Static1D;
@@ -49,7 +49,7 @@ class SinkRenderer implements GLSurfaceView.Renderer
   {
   private GLSurfaceView mView;
   private DistortedTexture mTexture;
-  private DistortedEffectQueues mEffects;
+  private DistortedEffects mEffects;
   private DistortedFramebuffer mScreen;
   private GridFlat mGrid;
   private int bmpHeight, bmpWidth;
@@ -68,7 +68,7 @@ class SinkRenderer implements GLSurfaceView.Renderer
     dSink.add(new Static1D( 1));
     dSink.add(new Static1D(10));
 
-    mEffects = new DistortedEffectQueues();
+    mEffects = new DistortedEffects();
     mEffects.sink( dSink, pLeft, Region);
     mEffects.sink( dSink, pRight,Region);
 
diff --git a/src/main/java/org/distorted/examples/starwars/StarWarsRenderer.java b/src/main/java/org/distorted/examples/starwars/StarWarsRenderer.java
index d97b1b0..49882ac 100644
--- a/src/main/java/org/distorted/examples/starwars/StarWarsRenderer.java
+++ b/src/main/java/org/distorted/examples/starwars/StarWarsRenderer.java
@@ -33,7 +33,7 @@ import org.distorted.library.GridFlat;
 import org.distorted.library.EffectNames;
 import org.distorted.library.type.Dynamic1D;
 import org.distorted.library.type.Dynamic3D;
-import org.distorted.library.DistortedObjectTree;
+import org.distorted.library.DistortedTree;
 import org.distorted.library.type.Static1D;
 import org.distorted.library.type.Static3D;
 import org.distorted.library.type.Static4D;
@@ -41,7 +41,7 @@ import org.distorted.library.message.EffectListener;
 import org.distorted.library.message.EffectMessage;
 import org.distorted.library.Distorted;
 import org.distorted.library.DistortedTexture;
-import org.distorted.library.DistortedEffectQueues;
+import org.distorted.library.DistortedEffects;
 
 import android.graphics.Bitmap;
 import android.graphics.BitmapFactory;
@@ -104,9 +104,9 @@ class StarWarsRenderer implements GLSurfaceView.Renderer, EffectListener
    
   private GLSurfaceView mView;
   private DistortedTexture mScreenTexture, mGFFATexture, mLogoTexture, mCrawlTexture, mCrawlBackgroundTexture, mStarTexture;
-  private DistortedEffectQueues mScreenEffects, mGFFAEffects, mLogoEffects, mCrawlEffects, mCrawlBackgroundEffects;
-  private DistortedEffectQueues[] mStarQueue;
-  private DistortedObjectTree mRoot, mBackground;
+  private DistortedEffects mScreenEffects, mGFFAEffects, mLogoEffects, mCrawlEffects, mCrawlBackgroundEffects;
+  private DistortedEffects[] mStarEffects;
+  private DistortedTree mRoot, mBackground;
   private DistortedFramebuffer mScreen;
   private GridFlat mQuad;
 
@@ -122,16 +122,16 @@ class StarWarsRenderer implements GLSurfaceView.Renderer, EffectListener
 
     mQuad = new GridFlat(1,1);
 
-    mScreenEffects          = new DistortedEffectQueues();
-    mGFFAEffects            = new DistortedEffectQueues();
-    mLogoEffects            = new DistortedEffectQueues();
-    mCrawlEffects           = new DistortedEffectQueues();
-    mCrawlBackgroundEffects = new DistortedEffectQueues();
+    mScreenEffects          = new DistortedEffects();
+    mGFFAEffects            = new DistortedEffects();
+    mLogoEffects            = new DistortedEffects();
+    mCrawlEffects           = new DistortedEffects();
+    mCrawlBackgroundEffects = new DistortedEffects();
 
-    mStarQueue = new DistortedEffectQueues[NUM_STARS];
-    mStarQueue[0] = new DistortedEffectQueues();
+    mStarEffects = new DistortedEffects[NUM_STARS];
+    mStarEffects[0] = new DistortedEffects();
 
-    for(int i=1; i<NUM_STARS; i++) mStarQueue[i] = new DistortedEffectQueues(mStarQueue[0],Distorted.CLONE_VERTEX);
+    for(int i=1; i<NUM_STARS; i++) mStarEffects[i] = new DistortedEffects(mStarEffects[0],Distorted.CLONE_VERTEX);
 
     mScreen = new DistortedFramebuffer(0);
     mScreen.setProjection(60.0f, 0.0f, 0.0f);
@@ -168,7 +168,7 @@ class StarWarsRenderer implements GLSurfaceView.Renderer, EffectListener
       mCrawlEffects.abortAllEffects();
       mCrawlBackgroundEffects.abortAllEffects();
 
-      for(int i=0; i<NUM_STARS; i++) mStarQueue[i].abortAllEffects();
+      for(int i=0; i<NUM_STARS; i++) mStarEffects[i].abortAllEffects();
 
       setupScreen(width,height);
 
@@ -199,7 +199,7 @@ class StarWarsRenderer implements GLSurfaceView.Renderer, EffectListener
   private void setupScreen(int w, int h)
     {
     mScreenTexture = new DistortedTexture(w,h);
-    mRoot = new DistortedObjectTree(mScreenTexture, mScreenEffects,mQuad);
+    mRoot = new DistortedTree(mScreenTexture, mScreenEffects,mQuad);
       
     mCrawlBackgroundTexture = new DistortedTexture(w,(int)(Math.sqrt(3.0)*h));
        
@@ -220,18 +220,18 @@ class StarWarsRenderer implements GLSurfaceView.Renderer, EffectListener
       randomAlpha2 = 0.8f + 0.2f*mRnd.nextFloat();
       randomTime = 500+mRnd.nextInt(2000);
       
-      mStarQueue[i].move( new Static3D(randomX,randomY,0) );
-      mStarQueue[i].scale(randomS);
-      mStarQueue[i].rotate( new Static1D(randomA), axis, center );
+      mStarEffects[i].move( new Static3D(randomX,randomY,0) );
+      mStarEffects[i].scale(randomS);
+      mStarEffects[i].rotate( new Static1D(randomA), axis, center );
       
       Dynamic1D di = new Dynamic1D(randomTime,0.0f);
       di.setNoise(alphaNoise);
       di.add(new Static1D(randomAlpha1));
       di.add(new Static1D(randomAlpha2));
       
-      mStarQueue[i].alpha(di);
+      mStarEffects[i].alpha(di);
       
-      mRoot.attach(mStarTexture, mStarQueue[i], mQuad);
+      mRoot.attach(mStarTexture, mStarEffects[i], mQuad);
       }
       
     float scale = (0.5f*w/mGFFATexture.getWidth());
diff --git a/src/main/java/org/distorted/examples/wind/WindEffectsManager.java b/src/main/java/org/distorted/examples/wind/WindEffectsManager.java
index e2bb8ad..d0cde48 100644
--- a/src/main/java/org/distorted/examples/wind/WindEffectsManager.java
+++ b/src/main/java/org/distorted/examples/wind/WindEffectsManager.java
@@ -21,7 +21,7 @@ package org.distorted.examples.wind;
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-import org.distorted.library.DistortedEffectQueues;
+import org.distorted.library.DistortedEffects;
 import org.distorted.library.DistortedTexture;
 import org.distorted.library.type.Dynamic;
 import org.distorted.library.type.Dynamic3D;
@@ -90,7 +90,7 @@ class WindEffectsManager
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  synchronized void apply(DistortedEffectQueues queues, int wind)
+  synchronized void apply(DistortedEffects effects, int wind)
     {
     Static3D midLeft = new Static3D(0,mHeight/2,0);
     Static3D midRight = new Static3D(mWidth,mHeight/2,0);
@@ -98,12 +98,12 @@ class WindEffectsManager
 
     setWind(wind);
 
-    queues.shear(shearDynamic,midLeft);
-    queues.scale(scaleDynamic);
-    queues.deform(deformForce,midRight);
-    queues.wave(windDynamic1, midRight, windRegion);
-    queues.wave(windDynamic2, midRight, windRegion);
-    queues.wave(windDynamic3, midRight, windRegion);
+    effects.shear(shearDynamic,midLeft);
+    effects.scale(scaleDynamic);
+    effects.deform(deformForce,midRight);
+    effects.wave(windDynamic1, midRight, windRegion);
+    effects.wave(windDynamic2, midRight, windRegion);
+    effects.wave(windDynamic3, midRight, windRegion);
     }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
diff --git a/src/main/java/org/distorted/examples/wind/WindRenderer.java b/src/main/java/org/distorted/examples/wind/WindRenderer.java
index 5f7a565..eaaa2da 100644
--- a/src/main/java/org/distorted/examples/wind/WindRenderer.java
+++ b/src/main/java/org/distorted/examples/wind/WindRenderer.java
@@ -28,7 +28,7 @@ import org.distorted.examples.R;
 import org.distorted.library.Distorted;
 import org.distorted.library.DistortedFramebuffer;
 import org.distorted.library.GridCubes;
-import org.distorted.library.DistortedEffectQueues;
+import org.distorted.library.DistortedEffects;
 import org.distorted.library.DistortedTexture;
 import org.distorted.library.type.Static1D;
 import org.distorted.library.type.Static3D;
@@ -44,7 +44,7 @@ import javax.microedition.khronos.opengles.GL10;
 class WindRenderer implements GLSurfaceView.Renderer
 {
    private GLSurfaceView mView;
-   private DistortedEffectQueues mEffects;
+   private DistortedEffects mEffects;
    private DistortedTexture mTexture;
    private DistortedFramebuffer mScreen;
    private GridCubes mGrid;
@@ -59,7 +59,7 @@ class WindRenderer implements GLSurfaceView.Renderer
       mView = view;
 
       mGrid    = new GridCubes(50,30,false);
-      mEffects = new DistortedEffectQueues();
+      mEffects = new DistortedEffects();
       mTexture = new DistortedTexture(50,30);
       mManager = new WindEffectsManager(mTexture);
       mScreen  = new DistortedFramebuffer(0);
