basic implementation at allowing users to upgrade early