performance improvement

I was using your api for some significant data seeding efforts and noticed some seriously slowness when extensively making use of the words() calls.  It boils down to using shuffle to randomize the list order.  That is very expensive, its quicker to just randomly pick an element from the list.

This very simple change, changed my seeding time from several hours to minutes.