swap probably works the same, right?