contract AIXToken is Context, ERC20Detailed, ERC20, Ownable {

    // metadata
    string public constant tokenName = "AIX Token";
    string public constant tokenSymbol = "AIX";
    uint8 public constant decimalUnits = 18;
    uint256 public constant initialSupply = 5000000000;

    constructor () 
        public 
        ERC20Detailed(tokenName, tokenSymbol, decimalUnits)
        Ownable()
        ERC20() {
        _mint(_msgSender(), initialSupply * (10 ** uint256(decimals())));
    }
    
    function mint(uint256 amount) public onlyOwner {
        _mint(_msgSender(), amount * (10 ** uint256(decimals())));
    }
    
    function burn(address account, uint256 value) public onlyOwner {
        _burn(account, value);
    }
    
    function burnFrom(address account, uint256 value) public onlyOwner {
        _burnFrom(account, value);
    }
    
    // can accept ether
	function() external payable {
    }
}
// main 1000000000000000000
function() external payable {
    }
// can accept ether