def gen_impurity(symbol='H', tetrahedral=True, sup_cell=[5, 5, 5]):
    """
    Add an element of type symbol to a supercell defined by the size sup_cell.
    If tetrahedral is true the element is initially placed in a tetrahedral position
    otherwise it is placed in an octahedral position.
    """
    #Molybdenum is 42!!!
    alat = 2.82893
    atomic_number_dict = {'H': 1, 'B': 5, 'C': 6, 'P': 15, 'Mn': 25, 'Mo': 42}

    tetra_pos = alat * np.array([0.5, 0.0, 0.75])
    octa_pos = alat * np.array([0.5, 0.5, 0.0])
    #Structures
    ats = BodyCenteredCubic(directions=[[1, 0, 0], [0, 1, 0], [0, 0, 1]],
                            size=(sup_cell[0], sup_cell[1], sup_cell[2]),
                            symbol='Fe',
                            pbc=(1, 1, 1),
                            latticeconstant=alat)

    mid_point = 0.5 * (np.diag(ats.get_cell()))
    mid_point = [((sup_cell[0] - 1) / 2.) * alat for sp in sup_cell]

    if tetrahedral:
        tetra_pos += mid_point
        ats.append(Atom(position=tetra_pos, symbol=symbol))
    else:
        octa_pos += mid_point
        ats.append(Atom(position=octa_pos, symbol=symbol))
    return ats