foundational support for conditional updates