 		***************************************************************************/
 		protected override function doLoad() : void
 		{
+			// asset from library
+			if (m_url.indexOf('attach://') == 0)
+			{
+				var symbol : Class = resolveAttachSymbol();
+				if (!symbol)
+				{
+					onData(false);
+					return;
+				}
+				var binaryObject : Object = new symbol();
+				if (!(binaryObject is ByteArray))
+				{
+					logUnsupportedTypeMessage(symbol);
+					onData(false);
+					return;
+				}
+				m_data = ByteArray(binaryObject).toString();
+				onData(true);
+				return;
+			}
 			m_loader = new URLLoader();
 			m_loader.addEventListener(
 				HTTPStatusEvent.HTTP_STATUS, loader_httpStatus);

	import flash.events.HTTPStatusEvent;
	import flash.net.URLLoader;
	import flash.net.URLRequest;
	import flash.net.URLRequestMethod;	

	public class FileResource extends AbstractResource
	{

			m_loader.load(createRequest());
			//TODO: add error handling
		}

		protected function createRequest() : URLRequest
		{
			var request : URLRequest = new URLRequest(urlByAppendingTimestamp());
