add triangular decode