public void insert(String to_insert) {
        //put a word into the dictionary;
		//if already existed, increment the word's count
		Node start = root;
		if (isVoid) {
			isVoid = false;
		}

		int i = 0;
		for (; i < to_insert.length() - 1; i++) {
			char c = to_insert.charAt(i);
			if (start.children[c - 'a'] == null) {
				start.children[c - 'a'] = new Node();
			}
			start = start.children[c - 'a'];
		}
		
		char last = to_insert.charAt(i);
		if (start.children[last - 'a'] == null) {
			start.children[last - 'a'] = new Node();
		}
		start.children[last - 'a'].wordcnt++;
	}