move generate and perft testing