implemented the autoPropagation