public static void main(String[] args) {
		changeLookAndFeel = changeLookAndFeel || args.length > 1 ;
		//Remember to se it so we can customize the look and feel on the fly 
		
		//Set the look and feel for the program
		if(changeLookAndFeel){
			//Just in case you are running from console... was of time I know
			if(args.length<2){
				String input= JOptionPane.showInputDialog("Please Enter The Name Of the New Look and feel");
				System.out.println(input);
				if(input != null && input.length() >= 0){
					lookAndFeel = input;
				}
			} else {
				//Otherwise set the look and feel to the second parameter
				lookAndFeel = args[1];
			}
			setLookAndFeel(lookAndFeel);
		}
		
		if(startupServer)
			try {
				ManagerSocketServer server = ManagerSocketServer.getServerSingleton();
				server.start(null);
			} catch (Exception e) {
				System.out.println(e.getMessage());
			}
		
		BlockingQueue queue = new ArrayBlockingQueue(100);
		
		JabriscaController controller =  new JabriscaController(queue);
		JabriscaJPanel lobby = new Lobby(controller);
		JabriscaJPanel loginsingup = new LoginSingUp(controller);
		JabriscaJPanel newgame = new NewGame(controller);
		JabriscaJPanel gameboard = new GameBoard(controller);
		JabriscaJPanel endgamewindow = new EndGameWindow(controller);
		JabriscaModel model = new JabriscaModel(lobby, loginsingup, newgame, gameboard, endgamewindow, queue);
		
		JabriscaClientBuilder builder = new JabriscaClientBuilder(lobby, loginsingup, newgame, gameboard, endgamewindow, queue, controller, model);
		builder.start();
	}