add *permute* module