Fungible vs Non Fungible Tokens: How do They Work?