 			if new Date() - start > ASpell.ASPELL_TIMEOUT
 				@close(true)
 			else if i < words.length
-				word = words[i]
-				@sendWord(word)
-				i++
+				# batch up the words to check for efficiency
+				batch = words.slice(i, i + ASpell.ASPELL_BATCH_SIZE)
+				@sendWords(batch)
+				i += ASpell.ASPELL_BATCH_SIZE
 				setTimeout tick, 0
 			else
 				@close()

	sendWord: (word) ->
		@sendCommand("^" + word)

	sendCommand: (command) ->
		@aspell.stdin.write(command + "\n")


			callback("process killed")
		setTimeout forceClose, @ASPELL_TIMEOUT
	ASPELL_TIMEOUT : 4000
	ASPELL_BATCH_SIZE : 100
