 				for ( i = 0; i < len; ++i )
 				{
 					_particles.push( particles[i] );
+				}
+			}
+		}
+		
+		public function removeParticle( particle:Particle ):Boolean
+		{
+			var index:int = _particles.indexOf( particle );
+			if( index != -1 )
+			{
+				_particles.splice( index, 1 );
+				return true;
+			}
+			return false;
+		}
+		
+		public function removeParticles( particles:Vector.<Particle> ):void
+		{
+			for( var i:int = 0, len:int = particles.length; i < len; ++i )
+			{
+				var index:int = _particles.indexOf( particles[i] );
+				if( index != -1 )
+				{
+					_particles.splice( index, 1 );
 				}
 			}
 		}

				{
					for ( i = 0; i < len; ++i )
					{
						Initializer( _initializers[j] ).initialize( this, particles[i] );
					}
				}
			}

		public function set particles( value:Vector.<Particle> ):void
		{
			killAllParticles();
			addParticles( value, false );
		}

		/**
