Added ability to have variable segment widths