def slicer(iterable, width):
    """
        Slices iterables into chunks. How does itertools not have this function.
    """
    if len(iterable) % width is not 0:
        raise Exception('Iterable length must be divisable by the width')
    for start in range(0, len(iterable), width):
        yield iterable[start:start + width]
