<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def column_order(b1, b2):
 """ A comparator that sorts bboxes first by "columns", where a column is made up of all bboxes that overlap, then by vertical position in each column. b1 = [b1.type, b1.top, b1.left, b1.bottom, b1.right] b2 = [b2.type, b2.top, b2.left, b2.bottom, b2.right] """

    (top, left, bottom) = (1, 2, 3)
    # TODO(senwu): Reimplement the functionality of this comparator to
    # detect the number of columns, and sort those in reading order.

    # TODO: This is just a simple top to bottom, left to right comparator
    # for now.
    if round(b1[top]) == round(b2[top]) or round(b1[bottom]) == round(b2[bottom]):
        return float_cmp(b1[left], b2[left])
    return float_cmp(b1[top], b2[top])