Implement ISwap
rename arg for consistency