decoder work