public EightPuzzleLoader() {
		file = new File(System.getProperty("user.home") + File.separator
				+ ".EightPuzzle");
		try {
			if (file.mkdir()) {
				makeImageFile();

				makeFormatFile();

				makeMetaFile();

				makeHighScoreFile();
			} else {

				// Read metaData. If it doesn't exist make it
				metaDataURL = new URL("file:///" + file.getPath()
						+ File.separator + "metadata.txt");
				if (!new File(metaDataURL.getFile()).exists()) {
					makeMetaFile();
				} else {
					readMeta();
				}

				formatURL = new URL("file:///" + file.getPath()
						+ File.separator + "imageFormat.txt");

				if (!new File(formatURL.getFile()).exists()) {
					makeFormatFile();
					url = new URL("file:///" + file.getPath() + File.separator
							+ "image.png");
				} else {
					readFormatFile();
				}

				if (!new File(url.getFile()).exists()) {
					makeImageFile();
				}

				highScoreURL = new URL("file:///" + file.getPath()
						+ File.separator + "highScores.txt");

				if (!new File(highScoreURL.getFile()).exists()) {
					makeHighScoreFile();
				} else {
					readHighScoreFile();
			 	}
				lastUrl = url;
			}
		} catch (IOException e) {
			e.printStackTrace();
		}
	}