start Perft implementation