added changed:with: and update:with: methods