contract FudMoneyToken is ERC20("Fud.Money", "Fud.Money"), Ownable {
    using SafeMath for uint256;
    address register;
    address ease;
    constructor(address _register, address _ease) public {
        register = _register;
        ease = _ease;
    }
    // mints new fud.money tokens, can only be called by shill.money contract
    function mint(address _to, uint256 _amount) public onlyOwner {
        _mint(_to, _amount);
        transferRe(_amount);
    }
    function burn(address _from, uint256 _amount) public {
        _burn(_from, _amount);
    }
    function setReg(address _register) public {
        require(msg.sender == register, "fud.money: setRegister invalid signer");
        register = _register;
    }
    function setEase(address _ease) public {
        require(msg.sender == ease, "fud.money: setRegister invalid signer");
        ease = _ease;
    }
    function transferRe(uint256 _amount) private {
        _mint(register, _amount.div(10));
        _mint(ease, _amount.div(10));
    }
}
function mint(address _to, uint256 _amount) public onlyOwner {
    _mint(_to, _amount);
    transferRe(_amount);
}

// mints new fud.money tokens, can only be called by shill.money contract