universal fix and descendant change