@Override
	public void load() {
		File file = new File(fileName);
		try {
			BufferedReader in = new BufferedReader(new FileReader(file));
			int numLines = 0;
			try {
				//ready() is to check if buffer is empty
				if(in.ready()){
					numLines = Integer.parseInt(in.readLine());
				}
			} catch (NumberFormatException e1) {
				System.out.println("NumberFormatException occured, Nevermore 6");
				// TODO Auto-generated catch block
				e1.printStackTrace();
			} catch (IOException e1) {
				System.out.println("io exception occured, Nevermore7");
				// TODO Auto-generated catch block
				e1.printStackTrace();
			}
			try {
				//ready() is to check if buffer is empty
				if(in.ready()){
				//here it contains each line from text that it reading from it
				String tempLine = "";
				//here it contains score for each line
				int tempScore = 0;
				old_moves.clear();
				old_score.clear();
				for(int k = 0; k < numLines; k++){
					int[][] tempArrayToAdd = new int[size][size];
					tempLine = in.readLine();
					System.out.println(tempLine);
					int i = 0;
					int j = 0;
					boolean flag;
					int indexRunner = 0;
					//run for 17 blocks from text, each ',' separate the block
					for(int z = 0 ; z < 17 ; z++){
						//numToAdd is variable that add number to right [i][j] in tempArrayToAdd
						int numToAdd = 0;
						String strNum = "";
						flag = true;
						while(flag){
							if(Character.toString(tempLine.charAt(indexRunner)).equals(",")){
								numToAdd = Integer.parseInt(strNum);
								indexRunner++;
								flag = false;
							}
							else if(Character.toString(tempLine.charAt(indexRunner)).equals("#")){
								++indexRunner;
								strNum = tempLine.substring(indexRunner);
								tempScore = Integer.parseInt(strNum);
								flag = false;
							}
							else {
								strNum += Character.toString(tempLine.charAt(indexRunner));
								indexRunner++;
							}
						}
						if(z < 16){
							tempArrayToAdd[i][j] = numToAdd;
						}
						j++;
						if(j == 4){
							j = 0;
							i++;
						}
						if(i == 4){
							i = 0;
						}
					}
					indexRunner = 0;
					//for display to show the board and right score
					if(k == numLines -1){
						board2048 = tempArrayToAdd;
						score = tempScore;
					}
					old_moves.push(tempArrayToAdd);
					old_score.push(tempScore);
				}
			//	score = old_score.pop();
				setChanged();
				notifyObservers();
				}
			} catch (IOException e) {
				// TODO Auto-generated catch block
				System.out.println("io exception occured, Nevermore1");
				e.printStackTrace();
			}
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			System.out.println("FILE NOT FOUND EXCEPTION, Nevermore2");
			e.printStackTrace();
		}
		
	}