Add permute procedure