We use DIY forms for membership purchases. They are easy to set up, the membership is only one item with one Fund and one Campaign. We would like to periodically offer a discount code, without having to move all of our membership forms into a new cart.