debug move generation refactoring