@Override // update the cardHandler -> cardHandler.update() pls keep this method as clean as possible
	public void update( GameContainer container, StateBasedGame game, int delta ) throws SlickException
	{
		Score currentScore = new Score();
	    input = container.getInput();
		
		//Update the CardHandler
		CH.update(container, game, delta);
		
		//resets music
		if(game.getCurrentStateID() == ID && startMusic)
		{
			backgroundMusic = SoundTrack.TRACK_TWO;
			try {
				backgroundMusic.play();
				backgroundMusic.setVolume(0.1f);
				SoundEffect.setVolume(0.8f);
				CH.resetTimer();
			} catch (OutOfRangeException e) {e.printStackTrace();}
			finally{ startMusic = false;}
		}
					
		
		//check for escape
		if(input.isKeyDown(Input.KEY_ESCAPE))
		{
			// add score to the list and save the list
			currentScore = CH.getScoreObject();
			if ( currentScore != null && currentScore.getScore() != 0) {
				currentScore.setPlayerName(scoresList.getCurrentPlayerName());
				scoresList.addEntry(currentScore);
				// save the scores list to the file
				saveScores(scoresList);
			}
			container.exit();
		}
		
		//gameover
		if(CH.getTime().getTime() <= 0)
		{
			// add score to the list
			currentScore = CH.getScoreObject();
			currentScore.setPlayerName(scoresList.getCurrentPlayerName());
			scoresList.addEntry(currentScore);
			// save the scores list to the file
			saveScores(scoresList);
			
			game.enterState(2, new FadeOutTransition(Color.red, 1000), new FadeInTransition(Color.red, 300) );
		}
		
		//update time for the fuse
		time = CH.getTime().getTime();
	}