public void actionPerformed (ActionEvent event) {
			if (!firstImageFlipped) {
					startTime = System.currentTimeMillis();
					//timer.start();
					firstImageFlipped = true;
					//		    		pauseButton.setEnabled(true);
					
			}
			currentMoves.add(new long[]{num,System.currentTimeMillis()-startTime});
			
			//System.out.println(System.currentTimeMillis());
			//if 2 MemoryCards are flipped, flip back over

			if(grid.isTwoFlipped()){
				flipBack();
				flipBackTimer.stop();
			}
			
			
			
			//if no MemoryCards are flipped, flip one
			if (!grid.isOneFlipped()){
				
				grid.flip(num);
				JButton jb = buttons[num];
				Icon i = imgIcons.get(num);
				jb.setIcon(i); //set image according to val

				jb.setEnabled(false); //make unclickable

			}

			//if one MemoryCard is flipped, flip other
			//then check if theyre matching
			else{
				currentNumMoves++;
				int a=grid.getFlipped().get(0);
				grid.flip(num);
				JButton jb = buttons[num];

				jb.setIcon(imgIcons.get(num)); //set image according to val

				jb.setEnabled(false);

				if (grid.flippedEquals(num,a)){ //if they're matching keep num displayed and set flipped as false
					gameCounter++;

					buttons[num].setEnabled(false);
					grid.flushCurrentFlipped();

					//check if game is over
					if(gameCounter==grid.getSize()/2){

						endGame();
					}
				} else {
					// start the flip back timer

					ActionListener listener = new ActionListener() {
						public void actionPerformed(ActionEvent e) { flipBack(); }
					};
					flipBackTimer = new Timer(FLIP_BACK_TIME, listener);
					flipBackTimer.setRepeats(false);
					flipBackTimer.start();
				} // end of inner if else

			} // end of outer if else
			
		}