how about the swapping of tokens? how does it work? what do I need? is it only in solidity or i need other tools?