One of the few limitations I see in aMember is in the area of upgrading memberships. I'm currently rebuilding my main website as a membership site, offering 4 levels of membership, a free level, and 3 paid levels. Here's the challenge. Once new members come in, I want to give them an option to upgrade to a higher level, yet I also want to make the upgrades fair to everyone. So a free member should pay more for an upgrade to a particular level than a paid member. For example: Bronze (free) member + $197 = Platinum member Silver member + $97 = Platinum member Gold member + $49 = Platinum member In this example, 3 possible upgrade choices exist for the one top level membership. And this is the dilemma I struggled with, until I realized how I could pull it off. Coupons! I can set up coupon codes for each of the lower level memberships to be applied towards the top membership. Each coupon code can be set up to deduct a specific amount off the cost of the higher-level membership, and be limited to members with the intended membership. The same thing can be done for each upgrade option in the system. Bronze to Silver. Bronze to Gold. Silver to Gold. etc. (Actually, in my case, Bronze members will pay full price, but it's possible to give free members a discount if desired.) The only missing piece here is with recurring billing, and the previous membership would need to be cancelled. However, I have read that JLogica has a plugin to help with this. A daily report of upgrades would also help with those subscriptions which will need manual handling.