 			textModel.text = _textField.text;
 		}
 		
-		private var _textField:TextField;
+		private function widthChangedHandler(event:Event):void
+		{
+			var ww:Number = DisplayObject(_strand).width;
+			_textField.width = ww;
+		}
+		
+		private function heightChangedHandler(event:Event):void
+		{
+			var hh:Number = DisplayObject(_strand).height;
+			_textField.height = hh;
+		}
 		
 		public function get text():String
 		{

			// for input, listen for changes to the _textField and update
			// the model
			_textField.addEventListener(Event.CHANGE, inputChangeHandler);
		}
		
		private function textChangeHandler(event:Event):void

			_textField.selectable = true;
			_textField.type = TextFieldType.INPUT;
			_textField.mouseEnabled = true;
			_textField.multiline = false;
			_textField.wordWrap = false;
			
			// for debug only
			_textField.border = true;
			_textField.borderColor = 0x333333;
			_textField.width = 100;
			_textField.height = 18;
		}
		
		private var textModel:ITextModel;
		
		private var _strand:IStrand;
		
		private var _textField:TextField;
		
		public function set strand(value:IStrand):void
		{
