include the notion of "starter words" by considering empty string a valid token.
make things more randomerer.
return nil on errors.
Make things more Go-like.