def combinations_2d(iterable1, iterable2):
    """
    Given two lists, a list with all possible combinations of elements from the two lists will be returned. The
    combinations will be in the form of tuples, where the first element is always from the list that was given as
    the first argument to this function.

    CHANGELOG

    Added 16.11.2018

    @param list iterable1:
    @param list iterable2:
    @return:
    """
    combinations = []
    for i in iterable1:
        for j in iterable2:
            combinations.append((i, j))
    return combinations
