public void start(String args[]) {
		
		// TODO quit if wrong arguments
		try {
			this.host = args[0];
			this.tcpPort = Integer.parseInt(args[1]);
			this.analyticServerRef = args[2];
		} catch(NumberFormatException e) {
			logger.error("Seconds argument has to be an integer");
		} catch(ArrayIndexOutOfBoundsException e) {
			logger.error("Too few arguments");
		}
		
		PropertyConfigurator.configure("src/log4j.properties");
		
		readProperties();
		
		managementClient = new ManagementClient(analyticServerRef);
		managementClient.start();
		managementClient.processInput("!subscribe .*");
		
		for (int i = 0; i<clients; i++) {
			LoadTestClient client = new LoadTestClient(host, tcpPort);
			testClients.add(client);
			//client.loginClient();
			if (auctionsPerMin > 0) client.createAuctions(auctionsPerMin, auctionDuration);
			if (bidsPerMin > 0) client.bidAuctions(bidsPerMin);
			executorService.execute(client);
		}
		LoadTestClient updater = new LoadTestClient(host, tcpPort);
		testClients.add(updater);
		updater.updateList(updateIntervalSec);
		executorService.execute(updater);
		
		//Press enter to shut down the loadtest client
		BufferedReader input = new BufferedReader(new InputStreamReader(System.in));
		try {
			input.readLine();
			input.close();
		} catch (IOException ex) {
			logger.error("IO Exception on System Standard Input");
		}
		shutdown();
		
	}