Checkers core logic