renamed RectangularBoard to BoardImpl and updated API