 			stream.readBytes(byteArray);
 			stream.close();
 			//parse
-			var asset:Asset = new Asset(_model.viewerInput.name, byteArray);
-			var name:String = asset.name;
-			Miracle.createScene(new <Asset>[asset], 1);
+			if(_assets == null)_assets = new <Asset>[];
+			_assets.push(new Asset(_model.viewerInput.name, byteArray));
+//			var name:String = asset.name;
+			if(_assets.length > 1){
+				this.choseAnimation();
+				Miracle.createScene(_assets, 1);
+				Miracle.resume();
+			}else{
+				this.createHandler(true);
+			}
+		}
+
+		private function selectAnimationHandler(event:Event):void {
+			var list:List = event.target as List;
+			list.removeEventListener(event.type, this.selectAnimationHandler);
+			log(this, "selectAnimationHandler", list.selectedItem);
+			this.removeChild(_window);
+			_window = null;
+			//add animation to miracle
+			var name:String = list.selectedItem.toString();
 			Miracle.currentScene.createImage(name)
-					.addEventListener(Event.ADDED_TO_STAGE, this.imageAddedToStage);
-			Miracle.resume();
+			 .addEventListener(Event.ADDED_TO_STAGE, this.imageAddedToStage);
 		}
 
 		private function imageAddedToStage(event:Event):void {

			this.stage.align = StageAlign.TOP_LEFT;
			Miracle.start(this.stage, this.createHandler, true);
		}
		//} endregion PRIVATE\PROTECTED METHODS ========================================

		//==============================================================================
		//{region							EVENTS HANDLERS
		private function createHandler():void {
			if(_model.viewerInput == null){
				_model.viewerInput = _model.lastFileDirection;
				_model.viewerInput.addEventListener(Event.SELECT, this.selectFileHandler)
				_model.viewerInput.browseForOpen("Open file that you want to view");
			}
		}


	public class ViewerView extends Sprite {

		private var _model:AppModel;
		private var _assets:Vector.<Asset>;
		private var _window:Window;

		public function ViewerView(model:AppModel = null) {
			super();
