# How can I make an ERC20 both Burnable and Detailed?

**URL:** <https://forum.openzeppelin.com/t/how-can-i-make-an-erc20-both-burnable-and-detailed/2505>\
**Category:** Contracts\
**Tags:** erc20\
**Created:** [March 22, 2020, 12:40pm UTC](https://forum.openzeppelin.com/t/how-can-i-make-an-erc20-both-burnable-and-detailed/2505 "2020-03-22T12:40:48Z")\
**Posts on this page:** 1\
**Showing post:** 2

<div class="post-metadata">

**Author:** ![abcoathup](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.openzeppelin.com/abcoathup/32/415_2.png) [@abcoathup](https://forum.openzeppelin.com/u/abcoathup)\
**Post date:** [March 23, 2020, 9:09am UTC](https://forum.openzeppelin.com/t/how-can-i-make-an-erc20-both-burnable-and-detailed/2505/2 "2020-03-23T09:09:51Z")

</div>

Hi @Lennard_Mulder,

Welcome to the community 👋

It is definitely possible to inherit from ERC20Detailed and ERC20Burnable. (You could also inherit from [ERC20Mintable](https://docs.openzeppelin.com/contracts/2.x/api/token/erc20#ERC20Mintable)).

Using [Deploy a simple ERC20 token in Remix](https://forum.openzeppelin.com/t/deploy-a-simple-erc20-token-in-remix/1203) as a basis.

A simple token that is burnable could be as follows:

⚠ Please note this code hasn’t been tested or audited

```auto
pragma solidity ^0.5.0;

import "https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v2.5.0/contracts/token/ERC20/ERC20.sol";
import "https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v2.5.0/contracts/token/ERC20/ERC20Detailed.sol";
import "https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v2.5.0/contracts/token/ERC20/ERC20Burnable.sol";

contract Token is ERC20, ERC20Detailed, ERC20Burnable {

    constructor () public ERC20Detailed("Token", "TKN", 18) {
        _mint(msg.sender, 1000000 * (10 ** uint256(decimals())));
    }
}

```

---

_[View the full topic](https://forum.openzeppelin.com/t/how-can-i-make-an-erc20-both-burnable-and-detailed/2505)._
