private ConsoleRummy() 
	{
		game_joker = null;
		FileInputStream f = null;
		input = new Scanner(System.in);
		try 
		{
			current_player = new Player();
			prop = new Properties();
			f = new FileInputStream(state_file);
			prop.loadFromXML(f);
			current_player.setName(prop.getProperty("user"));
			String url_str = prop.getProperty("user_image");
			if (url_str!=null)
			{
				URL img = new URL(url_str);
				current_player.setImageURL(img);
			}
			System.out.printf("Wecome back %s\n", current_player.getName());			
		} catch (Exception e) 
		{
			System.out.println(e.getMessage());
			if ((current_player.getName() == null) || (current_player.getName().length() == 0))
				current_player = null;
		}
		finally
		{
			try {
				if (f != null)
					f.close();
			} catch (Exception e) {
				// TODO Auto-generated catch block
				;
			}
		}
		
		if (current_player == null)
		{
			Scanner s = input;
			current_player = new Player();

			System.out.printf("Enter your name: ");
			current_player.setName(s.nextLine());
			try {
				current_player.setImageURL(new URL("http://www.dunkindonuts.com/etc/designs/dunkindonuts/images/DD_Logo_share.jpg"));
			} catch (MalformedURLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			prop.put("user", current_player.getName());
			save();
		}

		main_cmds = new Pattern[5];
		int i = 0;
		main_cmds[i++] = Pattern.compile("[Hh]([Oo][Ss][Tt])?");
		main_cmds[i++] = Pattern.compile("[Jj]([oO][iI][nN])? (tcp\\://[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\:[0-9]+)");
		main_cmds[i++] = Pattern.compile("[Ss]([Tt][Aa][Rr][Tt])?");
		main_cmds[i++] = Pattern.compile("[Qq]([Uu][iI][Tt])?");
		main_cmds[i++] = Pattern.compile("[Jj]([oO][iI][nN])? ([0-9]+)");

		cmds = new Pattern[7];
		i = 0;
		cmds[i++] = Pattern.compile("[Dd]([rR][aA][wW])?");
		cmds[i++] = Pattern.compile("[Pp]([iI][cC][kK])?");
		cmds[i++] = Pattern.compile("[Dd]([iI][sS][cC][aA][rR][dD])? (1?[0-9]{1})");
		cmds[i++] = Pattern.compile("[Mm]([oO][vV][eE])? (1?[0-9]{1}) (1?[0-9]{1})");
		cmds[i++] = Pattern.compile("[Rr]([eE][sS][iI][gG][nN])?");
		cmds[i++] = Pattern.compile("[Ss]([hH][oO][wW])?");
		cmds[i++] = Pattern.compile("[Ss]([oO][rR][tT])?");

		show_cmds = new Pattern[3];
		i = 0;
		show_cmds[i++] = Pattern.compile("(1?[0-9][ ,]+)(1?[0-9][ ,]+)+(1?[0-9])");
		show_cmds[i++] = Pattern.compile("[Dd]([eE][lL][eE][tT][eE])? (1?[0-9]{1})");
		show_cmds[i++] = Pattern.compile("[Dd]([oO][nN][eE])?");
	}