@Override
		public void actionPerformed(ActionEvent e) {
			if (e.getSource() == submit) {
				// Window work
				game.getControlPanel().setSubmitted(true);
				HumanPlayer humanPlayer = (HumanPlayer) game.getPlayers().get(0);
				humanPlayer.setHumanMustFinish(false);
				setVisible(false);
				game.getBoard().unhighlightTargets();
				
				String selectedPerson = (String) peoplePossibilities.getSelectedItem();
				String selectedRoom = (String) roomsPossibilities.getText();
				String selectedWeapon = (String) weaponsPossibilities.getSelectedItem();
				
				// Process the suggestion
				
				game.getControlPanel().setGuess(selectedPerson + ", " + selectedRoom + ", " + selectedWeapon);
				
				int g = 0;
				for(Player p : game.getPlayers()) {
					if(p.getName().equals(selectedPerson)) {
						g = game.getPlayers().indexOf(p);
					}
				}
				game.getPlayers().get(g).location = game.getPlayers().get(0).getLocation();
				Card shown = game.handleSuggestion(selectedPerson, selectedRoom, selectedWeapon,game.getPlayers().get(0));
				
				if (shown != null) {
					game.getControlPanel().setResult(shown.getName());
					ArrayList<ComputerPlayer> comPlayers = new ArrayList<ComputerPlayer>();
					// loop to type cast
					for (int i = 1; i < game.getPlayers().size(); ++i) {
						comPlayers.add((ComputerPlayer) game.getPlayers().get(i));
					}
					
					// update computers seen cards
					for (ComputerPlayer p : comPlayers) {
						p.updateSeen(shown);
					}
					
				}
				else {
					game.getControlPanel().setResult("No card returned");
				}
			}
			else if (e.getSource() == cancel) {
				setVisible(false);
			}
		}