private SyncConfig getInput() {
		final SyncConfig config = new SyncConfig();

		boolean more = false;
		final BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
		try {
			do {
				final FolderConfig folderConfig = new FolderConfig();

				System.out.print("Enter the artist url to sync: ");
				final String artistUrl = reader.readLine();
				folderConfig.setArtistUrl(artistUrl);

				System.out.print("Enter the local folder to sync: ");
				final String localFolder = reader.readLine();
				folderConfig.setLocalFolder(localFolder);

				System.out.print("Enter the local folder to download to (hit enter for default [" + localFolder + "]: ");
				final String downloadFolder = reader.readLine();
				folderConfig.setDownloadFolder("".equals(downloadFolder) ? localFolder : downloadFolder);

				System.out.print("Would you like this folder to sync (y/n)?: ");
				final String syncOn = reader.readLine();
				folderConfig.setSyncOn("y".equalsIgnoreCase(syncOn) || "yes".equalsIgnoreCase(syncOn));
				
				System.out.print("Would you like to tag these files with mp3 metadata?: ");
				final String tagOn = reader.readLine();
				if ("y".equalsIgnoreCase(tagOn) || "yes".equalsIgnoreCase(tagOn)) {
					folderConfig.setMp3Metadata(getMp3Metadata(reader));
				}

				config.getConfigs().add(folderConfig);

				System.out.print("Would you like to sync any more folders (y/n)?: ");
				final String moreString = reader.readLine();
				more = "y".equalsIgnoreCase(moreString) || "yes".equalsIgnoreCase(moreString);
			} while (more);
		} catch (final Exception e) {
			throw new RuntimeException("Error getting user input.", e);
		}

		return config;
	}