public static void main(String[] args){ 															//The actual program
		progress.setStringPainted(true); 																//So the progressbar can have text on it
		progress.setString("Click download to begin"); 													//Info on the bar
		list.setEditable(false);
		list.setLineWrap(true);
		dir.setEditable(false);
		dir.setLineWrap(true);
		modsDisplay.setLineWrap(true);
		modsDisplay.setEditable(false);
		error.setEditable(false);
		error.setLineWrap(true);

		selectedModlist = new File(CONSTS.MIFUDIR+"/modlist/modlist.txt");
		System.out.println("Default Selected: "+selectedModlist);
		list.setText(selectedModlist.toString());
		dlDir = CONSTS.MIFUDIR.toString();
		System.out.println("Default Selected: "+dlDir);
		dir.setText(dlDir);
		
		/*
		 * If this is the first time running MIFU, This creates the default dir
		 */
		if (!CONSTS.MIFUDIR.exists()){
			CONSTS.MIFUDIR.mkdir(); 																	//Creates the default dir
			new File(CONSTS.MIFUDIRS+"/modlist").mkdir();
			System.out.println("MIFU Directory created");
		}
		
		//Downloads our default modlist.txt
		Download.downloadfile(CONSTS.ourModlist, CONSTS.MIFUDIRS, "/modlist/modlist.txt");
		//Check for update
		Updater.checkForMIFUUpdate();

		/*
		 * GUI
		 */
		JLabel mifudesc = new JLabel("Mod Installer From URL");
		JLabel modslbl = new JLabel("Downloads:");
		JLabel listlbl = new JLabel("Modlist:");
		JLabel dirlbl = new JLabel("Directory:");
		JScrollPane scroll = new JScrollPane(modsDisplay);
		scroll.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
		mifudesc.setFont(font);
		modslbl.setFont(font);
		listlbl.setFont(font);
		dirlbl.setFont(font);
		Color color = new Color(frame.getBackground().getRGB());
		list.setBackground(color);
		dir.setBackground(color);
		error.setBackground(color);
		
		/*
		 * Create the layout
		 */
		addSomething(mifudesc,"label",0,0,4,1);
		addSomething(Box.createHorizontalStrut(20),"spacer",1,0,1,10);
		addSomething(modslbl,"label",5,0,1,1);
		addSomething(scroll,"textbox",5,2,1,13);
		
		addSomething(Box.createVerticalStrut(10),"spacer",0,1,5,1);
		
		addSomething(listlbl,"label",0,2,4,1);
		addSomething(list,"label",0,3,3,1);
		
		addSomething(Box.createVerticalStrut(10),"spacer",0,4,4,1);
		
		addSomething(dirlbl,"label",0,5,4,1);
		addSomething(dir,"label",0,6,3,1);
		
		addSomething(Box.createVerticalStrut(30),"spacer",0,7,4,1);
		
		addSomething(error,"label",0,8,3,1);

		addSomething(Box.createVerticalStrut(30),"spacer",0,9,4,1);

		//addSomething(cprofile, "chkbox", 0,10,3,1);
		addSomething(Box.createVerticalStrut(10),"spacer",0,10,3,1);
		
		addSomething(chMods,"button",0,11,1,1);
		addSomething(Box.createHorizontalStrut(10),"spacer",1,11,1,1);
		addSomething(chDir,"button",2,11,1,1);
		addSomething(Box.createHorizontalStrut(10),"spacer",3,11,1,1);

		addSomething(Box.createVerticalStrut(10),"spacer",0,12,4,1);
		
		addSomething(dlMods,"button",0,13,3,1);
		
		addSomething(Box.createVerticalStrut(10),"spacer",0,14,4,1);

		addSomething(progress,"progress",0,15,6,1);
		
		
		frame.add(panel);
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frame.pack();
		frame.setSize(frame.getWidth()+10,frame.getHeight()+10);
		frame.setResizable(false);
		Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();
		frame.setLocation(dim.width/2-frame.getSize().width/2, dim.height/2-frame.getSize().height/2);
		frame.setVisible(true); 																		//Display the GUI
		
		System.out.println(CONSTS.MIFUDIR);
	}