new conditional decoding of values