 		@runAspellOnWords language, words, (error, output) =>
 			return callback(error) if error?
 			#output = @removeAspellHeader(output)
-			suggestions = @getSuggestions(output)
+			suggestions = @getSuggestions(language, output)
 			results = []
 			hits = 0
+			addToCache = {}
 			for word, i in words
 				key = language + ':' + word
 				cached = cache.get(key)

					else
						results.push index: i, suggestions: cached
				else
					if suggestions[word]?
						cache.set(key, suggestions[word])
						results.push index: i, suggestions: suggestions[word]
					else
						# a valid word, but uncached
						cache.set(key, true)
			logger.log hits: hits, total: words.length, hitrate: hits/words.length, "cache hit rate"
			callback null, results

	getSuggestions: (output) ->
		lines = output.split("\n")
		suggestions = {}
		for line in lines

				if parts.length > 1
					word = parts[1]
					suggestionsString = line.slice(line.indexOf(":") + 2)
					suggestions[language + ":" + word] = suggestionsString.split(", ")
			else if line[0] == "#" # No suggestions
				parts = line.split(" ")
				if parts.length > 1
					word = parts[1]
					suggestions[language + ":" + word] = []
		return suggestions

	#removeAspellHeader: (output) -> output.slice(1)
