public void start() throws IllegalStateException {
		if (instructions == null || endgamewindow == null || gameboard == null
				|| lobby == null || loginsingup == null || newgame == null)
			throw new IllegalStateException();

		done = false;
		// Start Socket connection
		attempConnection();
		setState(ModelStates.loginsingup);
		newgame.setDefaultCloseOperation(javax.swing.WindowConstants.HIDE_ON_CLOSE);
		endgamewindow
				.setDefaultCloseOperation(javax.swing.WindowConstants.HIDE_ON_CLOSE);

		Thread myThread = new Thread(this);
		myThread.start();
	}