framework chang