 
 			return quadBatchID;
 		}
-
-
-		// properties
-		public function get numQuads():int
-		{
-			return _numQuads;
-		}
-
-
-		public function get tinted():Boolean
-		{
-			return _tinted;
-		}
-
-
-		public function get texture():Texture2D
-		{
-			return _texture;
-		}
-
-
-		public function get smoothing():String
-		{
-			return _smoothing;
-		}
-
-
-		private function get capacity():int
-		{
-			return _vertexData.numVertices / 4;
-		}
-
-
-		// program management
+		
+		
+		/**
+		 * @private
+		 */
 		private static function registerPrograms():void
 		{
 			var target:Render2D = Render2D.current;
-			if (target.hasProgram(QUAD_PROGRAM_NAME)) return;
-			// already registered
-
-			var assembler:AGALMiniAssembler = new AGALMiniAssembler();
-			var vertexProgramCode:String;
-			var fragmentProgramCode:String;
+			if (target.hasProgram(QUAD_PROGRAM_NAME)) return; // already registered
+			
+			var agal:AGALMiniAssembler = new AGALMiniAssembler();
 
 			// this is the input data we'll pass to the shaders:
 			//

			clone.alpha = alpha;
			return clone;
		}


		private function expand(newCapacity:int = -1):void
		{
			var oldCapacity:int = capacity;

		}


		/**
		 * @private
		 */
		private function createBuffers():void
		{
			var numVertices:int = _vertexData.numVertices;
			var numIndices:int = _indexData.length;
			var context:Context3D = Render2D.context;
			
			if (_vertexBuffer) _vertexBuffer.dispose();
			if (_indexBuffer) _indexBuffer.dispose();
			if (numVertices == 0) return;
			if (!context) throw new MissingContext3DException();
			
			_vertexBuffer = context.createVertexBuffer(numVertices, VertexData2D.ELEMENTS_PER_VERTEX);
			_vertexBuffer.uploadFromVector(_vertexData.rawData, 0, numVertices);
			
			_indexBuffer = context.createIndexBuffer(numIndices);
			_indexBuffer.uploadFromVector(_indexData, 0, numIndices);
			
			_syncRequired = false;
		}
		
		
		/** Uploads the raw data of all batched quads to the vertex buffer. */
		private function syncBuffers():void
		{
			if (!_vertexBuffer)
			{
				createBuffers();
			}
			else
			{
				// as 3rd parameter, we could also use 'mNumQuads * 4', but on some GPU hardware (iOS!),
				// this is slower than updating the complete buffer.
				_vertexBuffer.uploadFromVector(_vertexData.rawData, 0, _vertexData.numVertices);
				_syncRequired = false;
			}
		}
		
		
		/**
		 * @private
		 */
		private static function compileObject(object:DisplayObject2D,
			quadBatches:Vector.<QuadBatch2D>, quadBatchID:int, transformationMatrix:Matrix,
			alpha:Number = 1.0, blendMode:String = null, ignoreCurrentFilter:Boolean = false):int
		{
			var i:int;
			var quadBatch:QuadBatch2D;
