added upstream changes to GenerateMojo