Thanks for your answer, now I see all more clear, but I still have some doubts:
regarding Transposition tables, should i save leaf nodes during alphabeta (and maybe also during quiescence search)? I tried to run the program without saving them and it seems to work faster.
For storing the best move, can i just use the index of the move inside the array?
That's all, thank you, again.
P.S. i forgot one important thing: How can i prove my transposition table is working correctly?