diff --git a/src/engine/Engine.java b/src/engine/Engine.java
index 6d755bf5634c866c8596d4d3523adda7b0b5811f..6ef2964ca35db7f2c6128506899dbb5428a40db3 100644
--- a/src/engine/Engine.java
+++ b/src/engine/Engine.java
@@ -57,286 +57,6 @@ public class Engine
 	public void run()
 	{
 		isGameRunning = true;
-		/*TestIO.WriteLine("WELCOME TO pink_fluffy_unicorns_dancing_on_rainbows's A ket torony prototype");
-		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-		while (isGameRunning)
-		{
-			String s = null;
-			try
-			{
-				s = br.readLine();
-				if(s == null)
-				{
-					System.exit(0);
-				}
-			}
-			catch (IOException e)
-			{
-				e.printStackTrace();
-			}
-			TestCommand cmd = new TestCommand(s);
-			switch (cmd.name)
-			{
-			// TICK
-			case "tick":
-				int num = Integer.parseInt(cmd.args[0]);
-				TestIO.WriteLine("Game ticked with "+cmd.args[0]);
-				for (int i = 0; i < num; i++)
-				{
-					for (int j = tickables.size() - 1; j >= 0; j--)
-					{
-						tickables.get(j).tick();
-					}
-				}
-				break;
-			// EXIT
-			case "exit":
-				TestIO.WriteLine("Game quit");
-				System.exit(0);
-				break;
-			// WRITE TO FILE
-			case "writeToFile":
-				TestIO.SetOutputFile(cmd.args[0]);
-			break;
-			//LOAD MAP
-			case "loadMap":
-				if(tickables!=null)
-					tickables.clear();
-				tickables = new ArrayList<ITickable>();
-				if(ObjectbyID!=null)
-					ObjectbyID.clear();
-				ObjectbyID= new HashMap<String,Object>();
-				selectMap(cmd.args[0]);
-				TestIO.WriteLine(cmd.args[0] + " map loaded");
-				break;
-			// BUILD TOWER
-			case "buildTower":
-				world.getPlayer().buildTower(
-						world.getField(Integer.parseInt(cmd.args[0]),
-								Integer.parseInt(cmd.args[1])));
-			break;
-				//BUILD OBSTACLE
-			case "buildObstacle":
-				world.getPlayer().buildObstacle(
-						world.getField(Integer.parseInt(cmd.args[0]),
-								Integer.parseInt(cmd.args[1])));
-			break;
-				//GET AVELIBLE MAGIC ROCKS
-			case "getAvelibleMagicRocks":
-				for(int i=0;i<world.getField(Integer.parseInt(cmd.args[0]),
-						Integer.parseInt(cmd.args[1])).getDefense()
-						.getAvailableMagicRocks().size();i++)
-					
-				TestIO.WriteLine(world.getField(Integer.parseInt(cmd.args[0]),
-						Integer.parseInt(cmd.args[1])).getDefense()
-						.getAvailableMagicRocks().get(i).getDisplayName());
-				break;
-			// /UPGRADE
-			case "upgrade":
-				if (cmd.args[0].contains("T"))
-				{
-					if (cmd.args[1].equals("IncDMGRock"))
-					{
-						IncDMGRock r = new IncDMGRock();
-						r.useAt((Tower)ObjectbyID.get(cmd.args[0]));
-						TestIO.WriteLine("Upgrade complete");
-					}
-					else TestIO.WriteLine("Wrong rock");
-				} else 
-					if(cmd.args[0].contains("O")){
-						if(cmd.args[1].equals("DecSpeedRock")){
-							DecSpeedRock d = new DecSpeedRock();
-							d.useAt((Obstacle)ObjectbyID.get(cmd.args[0]));
-							TestIO.WriteLine("Upgrade complete");
-							}
-						else TestIO.WriteLine("Wrong rock");
-						}
-				else
-					TestIO.WriteLine("Wrong object");
-			break;
-				//TOGGLE ALWAYS FOG
-			case "toggleAlwaysFog":
-				if(Tower.alwaysFog==false){
-				Tower.alwaysFog=true;
-				TestIO.WriteLine("Fog on");}
-				else{
-					Tower.alwaysFog=false;
-				TestIO.WriteLine("Fog off");}
-			break;
-				//TOGGLE RANDOM MOVEMENT
-			case "toggleRandomMovement":
-				if(Enemy.randomMovement==false){
-					Enemy.randomMovement=true;
-					TestIO.WriteLine("Random movement on");}
-					else{
-						Enemy.randomMovement=false;
-						TestIO.WriteLine("Random movement off");}
-			break;
-				//TOGGLE RANCOM ENEMY SPAWN POS
-			case "toggleRandomEnemySpawnPos":
-				if(SpawnManager.randomEnemySpawnPos==false){
-					SpawnManager.randomEnemySpawnPos=true;
-					TestIO.WriteLine("Random spawn position on");}
-					else{
-						SpawnManager.randomEnemySpawnPos=false;
-						TestIO.WriteLine("Random spawn position off");}
-			break;
-				
-				// SET SPAWN TYPE
-			case "setSpawnType":
-				
-					SpawnManager.isFixedSpawnType = true;
-					switch (cmd.args[0])
-					{
-					case "Human":
-						SpawnManager.fixedSpawnType=EnemyType.HUMAN;
-						TestIO.WriteLine("Spawn type set to Human");
-						break;
-					case "Dwarf":
-						SpawnManager.fixedSpawnType=EnemyType.DWARF;
-						TestIO.WriteLine("Spawn type set to Dwarf");
-						break;
-					case "Elf":
-						SpawnManager.fixedSpawnType=EnemyType.ELF;
-						TestIO.WriteLine("Spawn type set to Elf");
-						break;
-					case "Hobbit":
-						SpawnManager.fixedSpawnType=EnemyType.HOBBIT;
-						TestIO.WriteLine("Spawn type set to Hobbit");
-						break;
-					case "Random":
-						SpawnManager.isFixedSpawnType=false;
-						TestIO.WriteLine("Spawn type set to random");
-						break;
-					default:
-						TestIO.WriteLine("Unknown type: " + cmd.args[0]);
-						break;
-					}
-			break;
-				//TOGGLE SHOOT WITH SPLIT
-			case "toggleShootWithSplit":
-				if(Enemy.alwaysSplit==false){
-					Enemy.alwaysSplit=true;
-					TestIO.WriteLine("Split shot on");}
-					else{
-						Enemy.alwaysSplit=false;
-						TestIO.WriteLine("Split shot off");}
-			break;
-				//SHOW WORLD
-			case "showWorld":
-				for(int i=0;i<30;i++){
-					for(int j=0;j<30;j++){
-						Field f = world.getField(i, j);
-						if(f.isMountainOfDoom())
-							TestIO.Write("M");
-						else if (f.getObstacle() != null)
-							TestIO.Write("O");
-						else if(f.isRoad() && f.getDefense() == null && !f.isSpawn())
-							TestIO.Write("R");
-						else if (f.getTower() != null)
-							TestIO.Write("T");
-						else if(f.isSpawn())
-							TestIO.Write("S");
-						else{
-							TestIO.Write("-");
-						}
-					}
-					TestIO.Write("\n");
-				}
-				break;
-			// SHOW FIELD
-			case "showField":
-				TestIO.WriteLine("Field contains:");
-
-				for (int i = 0; i < world
-						.getField(Integer.parseInt(cmd.args[0]),
-								Integer.parseInt(cmd.args[1])).getEnemies()
-						.size(); i++)
-				{
-					TestIO.WriteLine(String.format("%20s", world
-							.getField(Integer.parseInt(cmd.args[0]),
-									Integer.parseInt(cmd.args[1])).getEnemies()
-							.get(i).getID()
-							+ " "
-							+ world.getField(Integer.parseInt(cmd.args[0]),
-									Integer.parseInt(cmd.args[1])).getEnemies()
-									.get(i).getType().toString()));
-				}
-				if (world.getField(Integer.parseInt(cmd.args[0]),
-						Integer.parseInt(cmd.args[1])).getDefense() != null)
-					if (world.getField(Integer.parseInt(cmd.args[0]),
-							Integer.parseInt(cmd.args[1])).isRoad())
-					{
-						Obstacle o = (Obstacle) world.getField(
-								Integer.parseInt(cmd.args[0]),
-								Integer.parseInt(cmd.args[1])).getDefense();
-						TestIO.WriteLine(String.format("%20s", o.getID() + " Obstacle"));
-					}
-					else
-					{
-						Tower t = (Tower) world.getField(
-								Integer.parseInt(cmd.args[0]),
-								Integer.parseInt(cmd.args[1])).getDefense();
-						TestIO.WriteLine(String.format("%20s", t.getID() + " Tower"));
-					}
-				if (world.getField(Integer.parseInt(cmd.args[0]),
-						Integer.parseInt(cmd.args[1])).isRoad())
-					TestIO.WriteLine(String.format("%20s", "Road"));
-				if (world.getField(Integer.parseInt(cmd.args[0]),
-						Integer.parseInt(cmd.args[1])).isMountainOfDoom())
-					TestIO.WriteLine(String.format("%20s", "Mountain of Doom"));
-				//for (int z = 0; z < world.getSpawnManager().getSpawns().size(); z++)
-					//if (world.getField(Integer.parseInt(cmd.args[0]),
-						//	Integer.parseInt(cmd.args[1])) == world
-							//.getSpawnManager().getSpawns().get(z))
-					//	TestIO.WriteLine(String.format("%20s", "Spawn"));
-				break;
-			// SHOW MAGIC
-			case "showMagic":
-				TestIO.WriteLine(new Integer(world.getPlayer().getMagic()).toString());
-				break;
-			// SHOW
-			case "show":
-				if (cmd.args[0].contains("E"))
-				{
-					Enemy e = (Enemy) ObjectbyID.get(cmd.args[0]);
-					TestIO.WriteLine(e.getID() + " Enemy " + e.getType()
-							+ " HP:" + e.getHP()+ " Move Tries:"+e.getMoveTryCount());
-				}
-				else if (cmd.args[0].contains("T"))
-				{
-					Tower t = (Tower) ObjectbyID.get(cmd.args[0]);
-					TestIO.WriteLine(t.getID() + " Tower Cost:" + t.getCost()
-							+ " Damage Human:" + t.getDamage(EnemyType.HUMAN)
-							+ "\n" + " Damage Dwarf:"
-							+ t.getDamage(EnemyType.DWARF) + "\n"
-							+ " Damage Elf:" + t.getDamage(EnemyType.ELF)
-							+ "\n" + " Damage Hobbit:"
-							+ t.getDamage(EnemyType.HOBBIT));
-				}
-				else if (cmd.args[0].contains("O"))
-				{
-					Obstacle o = (Obstacle) ObjectbyID.get(cmd.args[0]);
-					TestIO.WriteLine(o.getID() + " Obstacle Cost:"
-							+ o.getCost() + " Slow:" + o.getSpeedModifier());
-				}
-				break;
-			// HAS GAME ENDED
-			case "hasGameEnded":
-				if (isGameRunning == false && victory)
-					TestIO.WriteLine("Game won!");
-				if (isGameRunning == false && !victory)
-					TestIO.WriteLine("Game lost!");
-				if (isGameRunning == true)
-					TestIO.WriteLine("Game is still running!");
-				break;
-
-			default:
-				TestIO.WriteLine("Invalid command: " + cmd.name);
-				break;
-			}
-		}
-		*/
 	}
 	
 	public boolean isGameRunning()