def complete_cell(self):
    """
    Return a cell where atoms have been translated to complete all molecules of
    the cell

    Returns
    -------
    out_cell : Mol object
        The new untruncated cell
    full_mol_l : list of Mol objects
        Each molecule in the untruncated cell

    """
    full_mol_l = []
    remaining = self.copy()

    while len(remaining) != 0:
        full_mol, cell = remaining.complete_mol(0)
        full_mol_l.append(full_mol)
        remaining = cell
        for atom in full_mol:
            if atom in remaining:
                remaining.remove(atom)

    # Convinently, remaining is now an empty Mol
    out_cell = remaining
    for mol in full_mol_l:
        out_cell.extend(mol)
    return out_cell, full_mol_l