add generate