Please tell me how to write a smart contract for token exchange? For example, a person sends bnb to the address of the smart contract and then the smart contract itself sends tokens. But what can you change to course