Fix abs warning
Improve movegen design