def dedupe_with_order(dupes):
    """Given a list, return it without duplicates and order preserved."""

    seen = set()
    deduped = []
    for c in dupes:
        if c not in seen:
            seen.add(c) 
            deduped.append(c)
    return deduped