Reworked the generate util to work with any language