public void assignReferees()
	{
		try
		{
			// get the week from combo box, then parse to an integer
			int assignmentWeek = (Integer) weekNumberComboBox.getSelectedItem();

			// get the match area from selected radio button
			if (northRadioButton.isSelected())
			{
				mainArea = "North";
				otherArea1 = "Central";
				otherArea2 = "South";
			}
			else if (centralRadioButton.isSelected())
			{
				mainArea = "Central";
				otherArea1 = "North";
				otherArea2 = "South";
			}
			else if (southRadioButton.isSelected())
			{
				mainArea = "South";
				otherArea1 = "Central";
				otherArea2 = "North";
			}

			// get the match level from selected radio button
			if (juniorRadioButton.isSelected())
				assignmentLevel = "Junior";
			else
				assignmentLevel = "Senior";

			// order the arrays
			firstArrayOrdering();
			secondArrayOrdering();

			// reset allocated referees to null (so checks can be carried out)
			allocatedReferee1 = null;
			allocatedReferee2 = null;

			finalCheck();

			// update the match allocations of the allocated referees
			allocatedReferee1.setAllocatedMatches(allocatedReferee1.getAllocatedMatches() + 1);
			allocatedReferee2.setAllocatedMatches(allocatedReferee2.getAllocatedMatches() + 1);

			// create match object
			match = new Match(assignmentWeek, mainArea, assignmentLevel,
					allocatedReferee1.getRefereeName(), allocatedReferee2.getRefereeName());

			// update the text area
			updateMatchAllocationDisplay();

			// list of referees in order of suitability added to text area
			for (int x = 0; x < arraySecondOrdering.length; x++)
			{
				assignedRefereesTextArea.append(
						arraySecondOrdering[x].matchAllocationsReportString() + "\n");
			}

			// display allocated referees to the user
			JOptionPane.showMessageDialog(this, "Allocated Referee 1: " + allocatedReferee1.getRefereeName(), 
					"Match Allocation", JOptionPane.INFORMATION_MESSAGE);

			JOptionPane.showMessageDialog(this, "Allocated Referee 2: " + allocatedReferee2.getRefereeName(), 
					"Match Allocation", JOptionPane.INFORMATION_MESSAGE);

			// add match to match list
			matchList.addMatchToList(match);

			// update main GUI
			refereeGUI.updateRefDisplay();

			// remove selected week from the combo box
			weekNumberComboBox.removeItem(weekNumberComboBox.getSelectedItem());
		}
		catch (IllegalArgumentException iax)
		{
			updateMatchAllocationDisplay();

			JOptionPane.showMessageDialog(this, "No Two Suitable Referees", 
					"Error", JOptionPane.ERROR_MESSAGE);
		}
	}