public void generate(String creation, List<String> initialWords, boolean initial) throws Exception {
		if(!creation.equals("TO") && !creation.equals("TF-IDF") && !creation.equals("TF")) {
			System.out.println("Wrong creation parameters!");
			return;
		}
		
		System.out.println("Start: Generating word vector...");
		
		System.out.print("Preparing...");
		WVTool wvt = new WVTool(false);
		WVTConfiguration config = new WVTConfiguration();
		WVTStemmer stemmer = new PorterStemmerWrapper();
		SimpleTokenizer tk  = new SimpleTokenizer();
		StopWordsWrapper filter = new StopWordsWrapper();
		
		config.setConfigurationRule(WVTConfiguration.STEP_TOKENIZER, 
				new WVTConfigurationFact(tk));
		config.setConfigurationRule(WVTConfiguration.STEP_STEMMER, 
				new WVTConfigurationFact(stemmer));
		config.setConfigurationRule(WVTConfiguration.STEP_WORDFILTER, 
				new WVTConfigurationFact(filter));
		System.out.println("Done!");
		
		System.out.print("Step 1: loading infile texts...");
		WVTFileInputList list = new WVTFileInputList(1);
		for(int i = 1; i <= 16980; ++i) {	//16980
			list.addEntry(new WVTDocumentInfo(this.infilefolder + i + ".txt",
					"txt", this.encoding, "english", 0));
		}
		System.out.println("Done!");
		
		System.out.print("Step 2: creating word list...");
		if(initial == false) {
			this.wordList = wvt.createWordList(list, config);
		} else {
			this.wordList = wvt.createWordList(list, config, initialWords, false);
		}
		
		this.wordList.storePlain(new OutputStreamWriter(new FileOutputStream(this.outfilefolder + "wordlist.txt"), this.encoding));
		this.wordList.store(new OutputStreamWriter(new FileOutputStream(this.outfilefolder + "wordVector.txt"), this.encoding));
		System.out.println("Done!");
		
		System.out.print("Step 3: creating vectors...");
		OutputStreamWriter outFile = new OutputStreamWriter(new FileOutputStream(this.outfilefolder + "wv.txt"), this.encoding);
		WordVectorWriter wvw = new WordVectorWriter(outFile, true);
		
		config.setConfigurationRule(WVTConfiguration.STEP_OUTPUT, new WVTConfigurationFact(wvw));
		if(creation.equals("TF-IDF")) {
			config.setConfigurationRule(WVTConfiguration.STEP_VECTOR_CREATION, 
					new WVTConfigurationFact(new TFIDF()));
		} else if (creation.equals("TF")) {
			config.setConfigurationRule(WVTConfiguration.STEP_VECTOR_CREATION, 
					new WVTConfigurationFact(new TermFrequency()));
		} else if (creation.equals("TO")) {
			config.setConfigurationRule(WVTConfiguration.STEP_VECTOR_CREATION, 
					new WVTConfigurationFact(new TermOccurrences()));
		}
		
		wvt.createVectors(list, config, this.wordList);
		System.out.println("Done!");
		
		wvw.close();
		outFile.close();
		System.out.println("End: word vector generated!");
	}