 		}
 		
 		protected function reset():void {
-			//for each (var module:Module in level.modules)
-				//if (module.FIXED)
-					//module.deregister();
-			//
-			//savedString = U.SAVE_DELIM + U.SAVE_DELIM + U.SAVE_DELIM + U.SAVE_DELIM;
-			//U.save.data[level.name] = savedString;
-			//load();
-			//TODO: transform into a custom action!
+			if (RESET_SAVE == savedString || savedString == null)
+				return;
+			
+			new CustomAction(function loadSuccess(old:String = null):Boolean { load(RESET_SAVE); reactionStack = new Vector.<Action>; return true; },
+							 function loadOld(old:String = null):void { load(old); },
+							 savedString).execute();
 		}
 		
 		

		
		
		protected function load(saveString:String = null):void {
			initLayers();
			displayWires = new Vector.<DWire>;
			displayModules = new Vector.<DModule>;

		protected function makeSaveButtons():void {
			if (!findSuccessSave()) return;
			
			loadButton = new GraphicButton(90, 50, _success_load_sprite, loadFromSuccess, new Key("S"));
			upperLayer.add(loadButton);
			
			resetButton = new GraphicButton(130, 50, _reset_sprite, reset);
			upperLayer.add(resetButton);
		}
		
