 			bt.draw(destination);
 		}
 		
-		private const _textField:TextField = new TextField(); // reusable object
+		public const creditInfoTextColor:LinkableNumber = registerLinkableChild(this, new LinkableNumber(0x000000));
+		public const creditInfoBackgroundColor:LinkableNumber = registerLinkableChild(this, new LinkableNumber(0xFFFFFF));
+		public const creditInfoAlpha:LinkableNumber = registerLinkableChild(this, new LinkableNumber(0.5, isFinite));
+		
 		private function drawCreditText(destination:BitmapData):void
 		{
 			var _providerCredit:String = _service.getCreditInfo();
 			if (_providerCredit)
 			{
-				_textField.text = _providerCredit;
-				_tempMatrix.identity();
-				_tempMatrix.translate(0, destination.height - _textField.height);
-				destination.draw(_textField, _tempMatrix);
+				var textColor:Number = creditInfoTextColor.value;
+				if (!isFinite(textColor))
+					return;
+				
+				bt.textFormat.color = textColor;
+				bt.textFormat.font = Weave.properties.visTextFormat.font.value;
+				bt.horizontalAlign = BitmapText.HORIZONTAL_ALIGN_LEFT;
+				bt.verticalAlign = BitmapText.VERTICAL_ALIGN_BOTTOM;
+				bt.x = 0;
+				bt.y = destination.height;
+				bt.text = _providerCredit;
+				
+				var backgroundColor:Number = creditInfoBackgroundColor.value;
+				if (isFinite(backgroundColor))
+				{
+					bt.getUnrotatedBounds(tempBounds);
+					tempBounds.getRectangle(rect);
+					tempShape.graphics.clear();
+					tempShape.graphics.lineStyle(0, 0, 0);
+					tempShape.graphics.beginFill(backgroundColor, creditInfoAlpha.value);
+					tempShape.graphics.drawRect(rect.x, rect.y, rect.width, rect.height);
+					tempShape.graphics.endFill();
+					destination.draw(tempShape);
+				}
+				
+				ct.alphaMultiplier = creditInfoAlpha.value;
+				bt.draw(destination, null, ct);
 			}
 		}
 

		}
		
		private const bt:BitmapText = new BitmapText();
		private const rect:Rectangle = new Rectangle();
		private function debugTileBounds(tileBounds:IBounds2D, dataBounds:IBounds2D, screenBounds:IBounds2D, destination:BitmapData, url:String, drawRect:Boolean):void
		{
			_tempScreenBounds.copyFrom(tileBounds);

		
		public function WMSPlotter()
		{
			//setting default WMS Map to Blue Marble
			setProvider(WMSProviders.OPEN_STREET_MAP);
		}
