can now defined arbitrary strings as well as letters.  will try to generate longest sequence first