Chess: great refactoring