public Config(String path) {
		prop = new Properties();
		file = new File(path);

		try {

			;

			if (!file.exists()) {
				System.out.println(file.getAbsolutePath());
				{
					File dir = file.getParentFile();
					if (!dir.exists()) {
						System.out.println("the directory " + dir.getAbsolutePath() + " does not exist, creating a new directory.");
						dir.mkdirs();
					}
				}
				System.err.println("file " + file.getName() + " does not exist, creating a new file.");
				file.createNewFile();
			}
			
			{
				if (!file.canWrite()) {
					System.err.println("can't write to file " + file.getAbsolutePath());
					System.exit(0);
				}
			}

			try (FileInputStream fis = new FileInputStream(file);) {
				prop.load(fis);
			} catch (FileNotFoundException e) {
				System.err.println("could not find the file " + path);
			}

			;

		} catch (IOException e) {
			e.printStackTrace();
		}

	}