Wasn't that the purpose of _swapTokens() ?