implemented Adefect propogation