extensive changes