private TimeSeriesCollection createTimeSeriesData() throws VehicleException, SimulationException {
		TimeSeriesCollection tsc = new TimeSeriesCollection(); 
		TimeSeries vehTotal = new TimeSeries("Total Vehicles");
		TimeSeries parkedTotal = new TimeSeries("Parked Vehicles"); 
		TimeSeries carsTotal = new TimeSeries("Cars");
		TimeSeries smallCarsTotal = new TimeSeries("Small Cars");
		TimeSeries MotorCyclesTotal = new TimeSeries("Motor Cycles");
		TimeSeries queueTotal = new TimeSeries("Queue");
		TimeSeries archivedTotal = new TimeSeries("Archived");
		TimeSeries dissatisfiedTotal = new TimeSeries("Dissatisfied");
		
		Calendar cal = GregorianCalendar.getInstance();
		
		
		Date timePoint;
		
		
		for (int time=0; time<=Constants.CLOSING_TIME; time++) {
			cal.set(2014,0,1,6,time);
			timePoint = cal.getTime();
			
			int count=0;
			int spaces=0;
			int cars=0;
			int smallcars=0;
			int motorcycles=0;
			int dissatisfied=0;
			int archived=0;
			int queued=0;
			
			
			//queue elements exceed max waiting time
			if (!cp.queueEmpty()) {
				cp.archiveQueueFailures(time);
			}
			//vehicles whose time has expired
			if (!cp.carParkEmpty()) {
				//force exit at closing time, otherwise normal
				boolean force = (time == Constants.CLOSING_TIME);
				cp.archiveDepartingVehicles(time, force);
			}
			//attempt to clear the queue 
			if (!cp.carParkFull()) {
				cp.processQueue(time,s);
			}
			// new vehicles from minute 1 until the last hour
			if (newVehiclesAllowed(time)) { 
				cp.tryProcessNewVehicles(time,s);
			}
			//Log progress 
			String str = cp.getStatus(time);
			String[] split = str.split("::");
			count = Integer.parseInt(split[1].replaceAll("[\\D]", ""));
			spaces = Integer.parseInt(split[2].replaceAll("[\\D]", ""));
			cars = Integer.parseInt(split[3].replaceAll("[\\D]", ""));
			smallcars = Integer.parseInt(split[4].replaceAll("[\\D]", ""));
			motorcycles = Integer.parseInt(split[5].replaceAll("[\\D]", ""));
			dissatisfied = Integer.parseInt(split[6].replaceAll("[\\D]", ""));
			archived = Integer.parseInt(split[7].replaceAll("[\\D]", ""));
			queued = Integer.parseInt(split[8].replaceAll("[\\D]", ""));
			
			vehTotal.add(new Minute(timePoint),count);
			parkedTotal.add(new Minute(timePoint),spaces);
			carsTotal.add(new Minute(timePoint),cars);
			smallCarsTotal.add(new Minute(timePoint),smallcars);
			MotorCyclesTotal.add(new Minute(timePoint),motorcycles);
			dissatisfiedTotal.add(new Minute(timePoint),dissatisfied);
			archivedTotal.add(new Minute(timePoint),archived);
			queueTotal.add(new Minute(timePoint),queued);
		}
		
		tsc.addSeries(vehTotal);
		tsc.addSeries(parkedTotal);
		tsc.addSeries(carsTotal);
		tsc.addSeries(smallCarsTotal);
		tsc.addSeries(MotorCyclesTotal);
		tsc.addSeries(dissatisfiedTotal);
		tsc.addSeries(archivedTotal);
		tsc.addSeries(queueTotal);
		return tsc; 

	}