private void handleFileOpen() {
		//saveProgress();

		setFileName(null);

		String chosenFileName;

		if(JFileChooser.APPROVE_OPTION == fileChooser.showOpenDialog(frame)) {
			File file = fileChooser.getSelectedFile();
			chosenFileName = file.getAbsolutePath();
		} else return;

		clearCards();
		cardStackFrom = CardStack.createFromFile(chosenFileName);
		if(cardStackFrom == null) {
			JOptionPane.showMessageDialog(frame
				,new JLabel("There was a problem opening " + chosenFileName + ", sorry.")
				,"File / Open problem"
				,JOptionPane.ERROR_MESSAGE
			);
		} else {
			cardStackFrom.shuffle();
			int totalCards = cardStackFrom.getCount();
			cardStackFromPanel.setCapacity(totalCards);
			cardStackFromPanel.setCurrentCount(cardStackFrom.getCount());
			cardStackToPanel.setCapacity(totalCards);
			cardStackToPanel.setCurrentCount(0);
//			cardStackHardPanel.setCapacity(totalCards);
//			cardStackHardPanel.setCurrentCount(0);
//			cardStackHard = new CardStack();
			cardStackTo = new CardStack();
			modified = false;
			setFileName(chosenFileName);
			getNextCard();
		}
	}