allow upgrade method