simpler impl for dynamicEq