gadget-gen steps