def level_states_full_space(level, dimension):
    """
    Creates a list of all states in ``level``.

    Parameters
    ----------
    level : int
        Level of the state space.
    dimension : int
        Number of clonotypes.

    Returns
    -------
    state_list : list
        List of all states in level.
    """

    state_list = []
    n = [0 for _ in range(dimension)]

    while True:

        if sum(n) == level:
            state_list.append(n[:])

        n[0] += 1
        for i in range(len(n)):
            if n[i] > level:
                if (i + 1) < len(n):
                    n[i + 1] += 1
                    n[i] = 0
                for j in range(i):
                    n[j] = 0

        if n[-1] > level:
            break

    return state_list