init version
add next permutation