 		protected var m_duration : int;
 		protected var m_delay : int;
 	
-		protected var m_tweenedProperties:Array;
-		
+		protected var m_tweenedProperties : Array;
+		protected var m_preventFrameDropping : Boolean;
+		protected var m_frameDuration : int;
+		protected var m_lastFrameTime : int;
+		protected var m_timeAdjust : int;
+
 		
 		/***************************************************************************
 		*							public methods								   *
 		***************************************************************************/
-		public function SimpleTween(duration:Number = 1, delay : uint = 0)
+		public function SimpleTween(
+			duration:Number = 1, delay : uint = 0, normalizeToFrameRate : uint = 0)
 		{
 			m_duration = duration;
 			if (m_duration <= 0 || isNaN(m_duration))

				g_frameEventDispatcher.addEventListener(
					Event.ENTER_FRAME, executeTick);
				m_isExecuting = true;
				m_startTime = getTimer() + m_currentTime;
				dispatchEvent(new TweenEvent(TweenEvent.START, true));
				if (executeFirstTickImmediately)
				{

		 */
		protected function executeTick(event : Event = null) : void
		{
			var time : int = getTimer();
			if (m_preventFrameDropping)
			{
				if (time - m_lastFrameTime > m_frameDuration)
				{
					m_timeAdjust += time - m_lastFrameTime - m_frameDuration;
				}
				m_lastFrameTime = time;
			}
			m_currentTime = time - m_startTime - m_timeAdjust - m_delay;
			if (m_currentTime < 0)
			{
				return;
