public Coordinate move( Move move )
	{
		Coordinate jumped = null;
		int jumpedPiece = 0;
		int movePiece = 0;
		
		//makes sure the move is valid
		if( isValidCoordinate( move.getStart( ) ) && 
				isValidCoordinate( move.getEnd( ) ) && 
				!isEmpty( move.getStart( ) ) && 
				isEmpty( move.getEnd( ) ) )
		{
			
			//removes jumped piece
			if( ( jumped = getJumpped( move ) ) != null )
			{	
				if(board[jumped.getY()][jumped.getX()] != null){
					jumpedPiece = Integer.parseInt(board[jumped.getY()][jumped.getX()].toString());
				}
				
				removePiece(jumped);
			}
			
			//moves the piece from its starting location to end location
			board[ move.getEnd( ).getY( ) ][ move.getEnd( ).getX( ) ] =  
					board[ move.getStart( ).getY( ) ][ move.getStart( ).getX( ) ];
			
			movePiece = Integer.parseInt(board[move.getEnd().getY()][move.getEnd().getX()].toString());

			removePiece( move.getStart() );
			//board[ move.getStart( ).getY( ) ][ move.getStart( ).getX( ) ] = null;
		}
		
		lastMove = new GUIMovement(move, jumped, movePiece, jumpedPiece);
		
		if(jumped == null){
			return null;
		}
		
		return move.getEnd( );
	}