reworked the DecodeHook to be value-based.