basic generation copied from Bundler gem task