public void run() {
		while(active){
			if(freeze){
				try {
					this.freeze = false;
					Ob.wait();
				} catch (InterruptedException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			}
				sim = new Driver();
				sim.Constants = this.Constants;
				sim.verbose = this.verbose;
		                sim.init();
						sim.run();
						if(freeze){
							try {
								this.freeze = false;
								Ob.wait();
							} catch (InterruptedException e) {
								// TODO Auto-generated catch block
								e.printStackTrace();
							}
						}
						ticks = sim.ticks;
						try {
							hold.TaskHand(this);
						} catch (IOException e) {
							// TODO Auto-generated catch block
							e.printStackTrace();
						}
		}
					
	}