checkers on black squares, and more refactoring