function burn(uint256 _value) public returns (bool success) {           
        require(_value > 0);
        require(balanceOf[msg.sender] >= _value);

        _callDividend(msg.sender);                

        balanceOf[msg.sender] = balanceOf[msg.sender].sub(_value);
        totalSupply = totalSupply.sub(_value);
        emit Burn(msg.sender, _value);
        return true;
    }