public static void main(String[] args) {
		
		// initialize ivars
		filename = args[0].toString();
		numThreads = Integer.parseInt(args[1]);
		transQueue = new ArrayBlockingQueue<Transaction>(numThreads);
		latch = new CountDownLatch(numThreads);
		
		// initialize accounts
		accounts = new Account[NUM_ACCTS];
		for (int i = 0; i < NUM_ACCTS; i++) {
			Account current = new Account(i);
			accounts[i] = current;
		}
			
		// create worker threads, start them 
		for (int i = 0; i < numThreads; i++) {
			Worker w  = new Worker();
			w.start();
			workers.add(w);
		}	
		
		// add transactions to the queue whenever we can
		// with the main thread
		readFile();
		
		//print out the results
		printAccounts();
		
	}