trying to simplify swap idem