def vpack(boxes, padding=0, strength='strong'):
    """
    Stack LayoutBox instances from top to bottom
    """
    for i in range(1, len(boxes)):
        c = boxes[i - 1].bottom - padding >= boxes[i].top
        boxes[i].solver.addConstraint(c | strength)
