add recursion stuff: permutation, nqueen