 		private var _springs:Array = new Array();
 		private var _forces:Array = new Array();
 		private var _integrator:IIntegrator = new RK4Integrator();
+		private var _bounds:Rectangle = null;
 		
 		/** The default gravity force for this simulation. */
 		public function get gravityForce():GravityForce {

			var i:uint, p:Particle;
			// reset forces
			for (i = _particles.length; --i >= 0; ) {
				p = _particles[i] as Particle;
				p.fx = p.fy = 0;
			}
			// collect forces

		/** The default spring force for this simulation. */
		public function get springForce():SpringForce {
			return _forces[3] as SpringForce;
		}
		
		/** Sets a bounding box for particles in this simulation.
		 *  Null (the default) indicates no boundaries. */
		public function get bounds():Rectangle { return _bounds; }
		public function set bounds(b:Rectangle):void {
			if (_bounds == b) return;
			if (_bounds == null) { _bounds = new Rectangle(); }
			// ensure x is left-most and y is top-most
			_bounds.x = b.x + (b.width < 0 ? b.width : 0);
			_bounds.width = (b.width < 0 ? -1 : 1) * b.width;
			_bounds.y = b.y + (b.width < 0 ? b.height : 0);
			_bounds.height = (b.height < 0 ? -1 : 1) * b.height;
		}
		
		/**
