better board logic, separated adding zone and calculating widths