public static boolean getPossibleBoard(int[][] current, int[][] target, Piece p, boolean overrideNext){
		if(current != target){
			for(int i = 0; i < target.length; i++){
				System.arraycopy(current[i], 0, target[i], 0, target[i].length);
			}
		}
		for(int i = 0; i < p.getCurrentStructure().length; i++){
			if(p.getLocation()[1] + p.getCurrentStructure()[i][1] < 0 ||
					p.getLocation()[1] + p.getCurrentStructure()[i][1] >= Global.BOARD_H ||
					p.getLocation()[0] + p.getCurrentStructure()[i][0] < 0 ||
					p.getLocation()[0] + p.getCurrentStructure()[i][0] >= Global.BOARD_W){
				if(!overrideNext)
					return true;
			}
		}
		for (int i = 0; i < p.getCurrentStructure().length; i++)
				target[p.getLocation()[1] + p.getCurrentStructure()[i][1]]
			          [p.getLocation()[0] + p.getCurrentStructure()[i][0]] = p.getPieceID();
		return false;
	}