function burn(uint256 _value) public {
    require(_value <= balances.balanceOf(msg.sender));
    
    

    address burner = msg.sender;
    balances.subBalance(burner, _value);
    totalSupply_ = totalSupply_.sub(_value);
    Burn(burner, _value);
    Transfer(burner, address(0), _value);
  }