ChessBoard use design pattern factory