implementing propagation with full update