public static void main(String[] args) throws InterruptedException {
		System.out.println("Initializing GUI and tray...");
		try {
		    for (LookAndFeelInfo info : UIManager.getInstalledLookAndFeels()) {
		        if ("Nimbus".equals(info.getName())) {
		            UIManager.setLookAndFeel(info.getClassName());
		            break;
		        }
		    }
		} catch (Exception e) {}
		
		mainWin = new MainWin();
		prepareSystemTray();
		mainWin.setVisible(true);
		FileManager.ensureExists("timers.cfg");
		
		System.out.println("Loading timers...");
		try {
		loadTimers();
		} catch (Exception e) {
			JOptionPane.showMessageDialog(null, "An exception occured while loading timer information. Run the jar using the console for more information.", "Error", JOptionPane.ERROR_MESSAGE);
			System.exit(1);
		}
		System.out.println("Timers loaded.");
		
		if (timerList.isEmpty()) {
			addTimer(System.currentTimeMillis(),120000, 0, true, "Sample: Two Minutes");
			addTimer(System.currentTimeMillis(),3600000, 0, true,  "Sample: Sixty Minutes");
			
		}
		
		
		//TODO why?
		//saveTimers();
		System.out.println("Initializion complete.");
		while (true) {
			tickTimers();
			Thread.sleep(1000);
		}
	}