Allow specifying a different alphabet

Also modernize the package.