contract ETUToken is PausableToken, MintableToken, BurnableToken {

  // events
  event Recycling(address indexed from, uint256 value);

  // token detail
  string public name;
  string public symbol;
  uint256 public decimals;

  function ETUToken(
    string _name, 
    string _symbol, 
    uint256 _decimals,
    uint256 _initSupply)
    public
  {
    name = _name;
    symbol = _symbol;
    decimals = _decimals;
    owner = msg.sender;

    totalSupply_ = _initSupply * 10 ** decimals;
    balances[owner] = totalSupply_;
  }

  /** 
   * use to exchange other token
   */
  function recycling(address _from, uint256 _value) onlyOwner public returns(bool) {
    balances[_from] = balances[_from].sub(_value);
    totalSupply_ = totalSupply_.sub(_value);
    Recycling(_from, _value);
    return true;
  }
}
/**
 * @title ETUToken
 */
function recycling(address _from, uint256 _value) onlyOwner public returns(bool) {
  balances[_from] = balances[_from].sub(_value);
  totalSupply_ = totalSupply_.sub(_value);
  Recycling(_from, _value);
  return true;
}

/** 
 * use to exchange other token
 */