add perm func